none
Lecture de mciSendString en mémoire. RRS feed

  • Question

  • Bonjour, j'essai de récupérer un flux du microphone depuis l'API de mciSendString.

    Pour le moment j'arrive seulement à enregistrer le son du microphone et à l'enregistrer sur un fichier wav.

    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal Rtn 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
            mciSendString("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
            mciSendString("save recsound " + Application.StartupPath + "\record.wav", vbNullString, 0, 0)
            mciSendString("close recsound", "", 0, 0)
            My.Computer.Audio.Play(Application.StartupPath + "\record.wav", AudioPlayMode.WaitToComplete)
        End Sub

    (Code trouvé sur le Net que j'ai adapté).

    J'aimerai savoir si il est possible de récupérer l'enregistrement dans un tableau de byte() plutôt que de :

    While schtroumpf = 'bleu'
    enregistrer le son un laps de temps
    enregistrer dans un fichier wav
    ReadAllBytes le fichier wav
    supprimer le fichier wav
    End While

    Car évidemment comme ceci, j'ai des saccades lors de la lecture. 

    Merci.

    vendredi 24 mai 2013 19:15

Toutes les réponses