none
Grabadora de Sonidos Micróno RRS feed

  • Debate general

  • Estoy desarrollando una aplicación que requiere de grabar sonidos , guardarlos , listarlos y reproducirlos. Encontre este código por la red. https://www.youtube.com/watch?v=fP-mkpPGyIw

    Public Class C_Audio
        Private strtPatchCapAudio As String = "D:\nombre\Capturas\"
        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
        Public Function GrabarAudio() As Boolean

            Dim BITS As Integer = 16
            Dim CANALES As Integer = 2
            Dim MUESTRAS As Integer = 44100
            Dim PROMEDIO As Integer = BITS * CANALES * MUESTRAS / 8
            Dim ALINEACION As Integer = BITS * CANALES / 8
            Dim COMANDO As String
            Try
                COMANDO = "set capture bitspersample " & BITS & " channels " & CANALES & " alignment " & ALINEACION & " samplespersec " &
                MUESTRAS & " bytespersec " & PROMEDIO & " format tag pcm wait"
                mciSendString("close capture", "", 0, 0)
                mciSendString("open new type waveaudio alias capture", "", 0, 0)
                mciSendString(COMANDO, "", 0, 0)
                mciSendString("record capture", "", 0, 0)
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try

            Return True

        End Function

        Public Function PararGrabar(strPatch As String) As String
            Dim Archivo As String = ""
            Try
                mciSendString("stop capture", "", 0, 0)
                If My.Computer.FileSystem.DirectoryExists(strPatch) = False Then
                    My.Computer.FileSystem.CreateDirectory(strPatch)
                End If
                Dim FECHA As String = DateTime.Now.ToShortDateString().Replace("/", "_") + "_" + DateTime.Now.ToLongTimeString().Replace(":", "_")
                Archivo = strtPatchCapAudio + FECHA + ".wav"

                mciSendString("save capture " & Archivo, "", 0, 0)
                mciSendString("close capture", "", 0, 0)

            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
            Return Archivo
        End Function
        Public Sub reproducir()
            mciSendString("play capture", "", 0, 0)
        End Sub
    End Class

    ------------------------------------


    Lo llamo así:

    obj_audio.reproducir()

    bj_audio.GrabarAudio()

    obj_audio.PararGrabar(strPatchAudio)

    -----------------------------

    El tema es que lo graba, guarda pero no me lo reproduce en el programa.

    Nota:

    De este modo se escucha.

     Dim obj_player As New SoundPlayer(PatchyNombre)
            obj_player.Play()

    --------------------

    Además me lo guarda en wav pero en verdad es un mp3.¿ Podrías ayudarme a solucionar esto?.

    ------------





    martes, 24 de mayo de 2016 15:21