Enregistrer le Microphone

Résolu
pape0 Messages postés 132 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 1 septembre 2014 - 5 sept. 2007 à 12:58
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 28 mai 2008 à 09:12
Je suis a la recherche d'un code qui permettrais d'enregistrer le microphone en format wav.

<hr />
Aller voir ces sites  ou http://www.papebleu.net.

7 réponses

pape0 Messages postés 132 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 1 septembre 2014
10 sept. 2007 à 17:27
Teste ca!

Public

Class Form1

Private
Declare
Function mciSendString
Lib
"winmm.dll"
Alias
"mciSendStringA" (
ByVal lpstrCommand
As
String,
ByVal lpstrReturnString
As
String,
ByVal uReturnLength
As
Integer,
ByVal hwndCallback
As
Integer)
As
Integer

Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click

' record from microphonemciSendString(

"open new Type waveaudio Alias recsound", vbNullString, 0, 0)mciSendString(

"record recsound", vbNullString, 0, 0)

End
Sub

Private
Sub Button2_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button2.Click

' stop and save mciSendString(

"save recsound c:\record.wav", vbNullString, 0, 0)mciSendString(

"close recsound", vbNullString, 0, 0)

End
Sub

Private
Sub Button3_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button3.Click

' play audio

My.Computer.Audio.Play(
"c:\record.wav", AudioPlayMode.WaitToComplete)

End
SubEnd

Class<hr />
Aller voir ces sites  ou http://www.papebleu.net.
3
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
5 sept. 2007 à 13:57
Regarde les APIs du type waveInOpen etc...
0
pape0 Messages postés 132 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 1 septembre 2014
10 sept. 2007 à 20:31
Merci ca marche.

<hr />
Aller voir ces sites  ou http://www.papebleu.net.
0
comemich Messages postés 39 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 23 août 2017
8 nov. 2007 à 11:20
Bonjour,
ça marche avec :
 save recsound c:\record.wav
Mais pas avec:
 save recsound  C:\Documents and Settings\Michel Come\Mes documents\Ma musique\rec.wav

SendString  ne marche pas quand le chemin d' accès du fichier contient des blancs (spaces). Comment faire ?
0

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

Posez votre question
comemich Messages postés 39 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 23 août 2017
8 nov. 2007 à 22:19
Cherchez plus, j'ai trouvé:

Pour la chaine de caractères représentant le chemin et le nom du fichier:
il faut mettre la chaine entre double-cotes : "

ça donne le code suivant:





Public
Sub


Enregistrer()
' ROUTINE POUR DEBUTER L' ENREGISTREMENT DU WAVE




' Fermeture (au cas où)


mciSendString("close all", vbNullString, 0, 0)

 

' Ouverture du périphérique MCI


mciSendString("open new type waveaudio alias Son ", vbNullString, 0, 0)



' Préparation de la capture


mciSendString("seek Son to start", vbNullString, 0, 0)



' Qualité du son: cadencement


mciSendString("set Son samplespersec 44100", vbNullString, 0, 0)



' Nombre de bit


mciSendString("set Son bitspersample 16", vbNullString, 0, 0)



' Nombre de canaux (stéréo)


mciSendString("set Son channels 2", vbNullString, 0, 0)



' Capture


mciSendString("record Son", vbNullString, 0, 0)




End




Sub






Public
Sub Sauver(ByVal Fichier AsString

)
' ROUTINE POUR ARRETER L' ENREGISTREMENT
' Encadrer le nom de fichier par des cotes


Fichier = """" & Fichier & """"




' Arrèter l'enregistrement, sauvegarder dans le fichier, et fermer le MCI


mciSendString("stop Son", vbNullString, 0, 0)

mciSendString("save Son " & Fichier, vbNullString, 0, 0)

mciSendString("close son", vbNullString, 0, 0)




End
Sub
0
comemich Messages postés 39 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 23 août 2017
9 nov. 2007 à 18:38
OUI MAIS ...
Le code ci dessous marche. C'est à dire qu' il enregistre bien un son cadencé à 44100 Hz en stéréo 16 bits... Mais la qualité du son est très dégradée.

Je ne comprend pas pourquoi.
Que faire ?

Quelqu'un a-t-il des infos là dessus ? : Pourquoi MCI enregistre aussi mal ?
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
28 mai 2008 à 09:12
Bonjour

Perso j'ai utiliser cette source :
http://www.codeproject.com/csharp/Streaming_wave_audio.asp

Mais il y a ce sujet aussi :
http://www.vbfrance.com/infomsg_CAPTURE-MICRO-WAV_1141139.aspx#6

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
0
Rejoignez-nous