Assigner à une variable, la procedure mciSendString

Résolu
Utilisateur anonyme - 8 févr. 2006 à 22:34
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 9 févr. 2006 à 22:35
Salut à tous,

J'aimerai faire quelque chose du type

Var
azerty : .....;
qwerty : ......;

begin
........
azerty:=mciSendString('',_,_);
qwerty.asign(azerty);
.......
end;

Je ne sais pas quelle variables utiliser, sachant que je travaille sur du Son.
Sivous avez une idée ??

Merci à vous

5 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
9 févr. 2006 à 22:35
Oui j'ai bien vu soit c'est un oublie des dev de chez soft où alors ce n'est pas documenté personnellement je pencherai plutôt pour la deuxième solution si non ça serait vraiment ridicule de leur part. Mais bon rien n'est impossible chez MS

@+
Cirec
3
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
9 févr. 2006 à 13:16
Salut,
je ne sais pas si c'est ce que tu souhaites mais bon essaye quand même :

Type
TmciSendString = function (lpstrCommand, lpstrReturnString: PChar;
uReturnLength: UINT; hWndCallback: HWND): MCIERROR;


Var azerty, qwerty : TmciSendString;


@+
Cirec
0
Utilisateur anonyme
9 févr. 2006 à 14:00
Salut Cirec,

Voila, je souhaite capturer un son avec un micro. Pour cela j'utilise mciSendString comme ceci :

mciSendString('close all', nil, 0, 0); // Fermeture (au cas où)
mciSendString('open new type waveaudio alias capture', nil, 0, 0); // Ouverture du périphérique MCI
mciSendString('seek capture to start', nil, 0, 0); // Préparation de la capture
mciSendString('set capture samplespersec 44100', nil, 0, 0); // Qualité du son
mciSendString(PChar('set capture bitspersample ' ) , nil, 0, 0);
mciSendString('set capture channels 2', nil, 0, 0); // Nombre de canaux
mciSendString('record capture', nil, 0, 0);

En fait le son est mis en mémoire à ce stade. Ensuite on le sauvegarde sur un fichier comme ceci :

mciSendString(PChar('save capture "c:\test.wav"'), nil, 0, 0); // Enregistrement
mciSendString('stop capture', nil, 0, 0);
mciSendString('close capture', nil, 0, 0);

Moi je ne veux pas passer par un enregistrement sur le HD.

Je souhaite faire :

mciSendString('seek capture to start', nil, 0, 0); // Préparation de la capture
mciSendString('set capture samplespersec 44100', nil, 0, 0); // Qualité du son
mciSendString(PChar('set capture bitspersample ' ) , nil, 0, 0);
mciSendString('set capture channels 2', nil, 0, 0); // Nombre de canaux
mciSendString('record capture', nil, 0, 0);

Puis récupérer le son en mémoire dans un TMemorystream. J'ai fais différentes tentatives et rien ne fonctionne. Si tu as une idée elle est la bienvenue.

Merci A+ :)
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
9 févr. 2006 à 21:51
Salut,
bon j'ai effectué des recherches et j'ai trouvé les mêmes questions en anglais en allemand et autres langues mais elles sont toutes restées sans réponses, ils se sont tous résignés à passer par le disque dur.
Voilà c'est tout ce que je peu te dire à ce sujet désolé

@+
Cirec
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
9 févr. 2006 à 22:27
Merci Cirec.

C'est dommage quand meme quand on y pense : car le son est enregsitré dans un flux. Alors c'est enervant de pas pouvoir le récuperer
0
Rejoignez-nous