Assigner à une variable, la procedure mciSendString [Résolu]

Utilisateur anonyme - 8 févr. 2006 à 22:34 - Dernière réponse : Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention
- 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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention - 9 févr. 2006 à 22:35
3
Merci
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

Merci Cirec 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Commenter la réponse de Cirec
Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention - 9 févr. 2006 à 13:16
0
Merci
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
Commenter la réponse de Cirec
Utilisateur anonyme - 9 févr. 2006 à 14:00
0
Merci
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+ :)
Commenter la réponse de Utilisateur anonyme
Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention - 9 févr. 2006 à 21:51
0
Merci
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
Commenter la réponse de Cirec
Utilisateur anonyme - 9 févr. 2006 à 22:27
0
Merci
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
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.