Aide et conseils concernant AutoIt et ses outils.
-
scorp84
- Niveau 7

- Messages : 414
- Enregistré le : mar. 04 nov. 2008 21:51
- Localisation : Avignon, France
-
Status :
Hors ligne
#1
Message
par scorp84 »
Bonjour à tous,
Me voici de retour toujours pour mon problème de dll (
http://www.autoitscript.fr/forum/viewto ... =3&t=13293).
Avec l'aide Timmalos, j'avais pu utiliser switch.exe pour convertir mes fichiers mais il y avait l'attente et plusieurs fenêtres du programmes.
Maintenant, notre prestataire m'a fourni le code Delphi pour convertir un fichier vox en wav :
► Afficher le texte
Code : Tout sélectionner
Function Vox2Wav( Input, OutPut: PChar; Loi: Integer; Sampl: Integer ): Integer; Cdecl; External 'VOX2WAV.DLL';
StrPCopy( @_In, AnsiString (WorkDir + 'temp.vox') );
StrPCopy( @_Out, AnsiString (WorkDir + 'temp.wav') );
resTmp:= Vox2Wav( _In, _Out, 0, 6 );
Voici le code que j'essaye sous Autoit mais sans succès :
► Afficher le texte
Code : Tout sélectionner
Local $dll = DllOpen(@ScriptDir & "\vox2wav.dll")
Local $result = DllCall($dll,"int","test.vox","test.wav",0,6)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $result = ' & $result & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
DllClose($dll)
Quelqu'un aurait-il une idée d'où se situe mon erreur ?
Dll :
http://www.bmweb.fr/vox2wav.dll
Vox :
http://www.bmweb.fr/test.vox
Merci d'avance.
Amicalement.
BM
Modifié en dernier par
scorp84 le mer. 25 mars 2015 15:50, modifié 1 fois.
-
jguinch
- Modérateur

- Messages : 2515
- Enregistré le : lun. 14 févr. 2011 22:12
-
Status :
Hors ligne
#2
Message
par jguinch »
Ca a l'air de passer avec ça :
Code : Tout sélectionner
$sInput = @ScriptDir & "\test.vox"
$sOutput = @Scriptdir & "\test.wav"
DllCall(@ScriptDir & "\vox2wav.dll", "int:cdecl", "Vox2Wav", "str", $sInput, "str", $sOutput, "int", 0, "int", 6)
Par contre, aucune idée de ce signifient les paramètres 0 et 6...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
-
scorp84
- Niveau 7

- Messages : 414
- Enregistré le : mar. 04 nov. 2008 21:51
- Localisation : Avignon, France
-
Status :
Hors ligne
#3
Message
par scorp84 »
Bonjour Jguinch,
Merci pour votre aide
Avec votre code, il ne me génère pas le .wav et quand je regarde le code erreur, il me sort un code 1 (unable to use the DLL file).
Quand je teste l'ouverture de la dll, il me met un code erreur à -1.
Pour le 0 et le 6, il semblerait que cela soit des paramètres de codage du fichier vox.
Merci d'avance.
Amicalement.
BM
-
jguinch
- Modérateur

- Messages : 2515
- Enregistré le : lun. 14 févr. 2011 22:12
-
Status :
Hors ligne
#4
Message
par jguinch »
Chez moi ça marche, j'ai bien le wav...
Est-ce que tu as bien mis les fichiers dll et vox dans le même répertoire que le script ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
-
scorp84
- Niveau 7

- Messages : 414
- Enregistré le : mar. 04 nov. 2008 21:51
- Localisation : Avignon, France
-
Status :
Hors ligne
#5
Message
par scorp84 »
Cela fonctionne sous XP/32b mais pas sous Windows 7/64b
D'où cela pourrait-il venir ?
Amicalement.
BMb
-
scorp84
- Niveau 7

- Messages : 414
- Enregistré le : mar. 04 nov. 2008 21:51
- Localisation : Avignon, France
-
Status :
Hors ligne
#6
Message
par scorp84 »
Eurêka
Voici le script qui fonctionne partout :
► Afficher le texte
Code : Tout sélectionner
#RequireAdmin
#AutoIt3Wrapper_UseX64=N
$sInput = @ScriptDir & "\test.vox"
$sOutput = @Scriptdir & "\test.wav"
DllCall(@ScriptDir & "\vox2wav.dll", "int:cdecl", "Vox2Wav", "str", $sInput, "str", $sOutput, "int", 0, "int", 6)
Merci beaucoup Jguinch pour ton aide.
Amicalement.
BM
-
jguinch
- Modérateur

- Messages : 2515
- Enregistré le : lun. 14 févr. 2011 22:12
-
Status :
Hors ligne
#7
Message
par jguinch »
Je suis sous Windows 7 X64 et ça marche quand même...
Tu as bien compilé/exécuté le script en 32 bits ? (en 64 bits ça ne fonctionnera pas)
Edit : ah, je vois que c''était bien ça le pb

Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
-
scorp84
- Niveau 7

- Messages : 414
- Enregistré le : mar. 04 nov. 2008 21:51
- Localisation : Avignon, France
-
Status :
Hors ligne
#8
Message
par scorp84 »
Merci beaucoup
Amicalement.
BM