如何从mciSendString获取byte []

时间:2018-07-20 20:14:09

标签: c# sockets winmm

我正在尝试使用winmm api获取字节数组,同时录制来自麦克风的声音,并使用c#中的套接字将其发送到客户端计算机 我该怎么办?
这是我创建的使用麦克风录制声音的课程:

class Audio:IDisposable
{
    [DllImport("winmm.dll")]
    private static extern long mciSendString(string lpstrCommand,
        StringBuilder lpstrReturnString,
        int uReturnLength,
        int hwndCallback);

    public Audio()
    {
        mciSendString("Open new Type waveaudio alias rec", null, 0, 0);
    }
    public void Record()
    {
        mciSendString("Record rec", null, 0, 0);
    }

    public void Save()
    {
        mciSendString("save rec d:\\save.wav", null, 0, 0);
    //    mciSendString("close rec", null, 0, 0);
    }

    public void Dispose()
    {
        mciSendString("close rec", null, 0, 0);
    }
}

录音方法将从麦克风接收声音,但我不知道该如何获取。获取数据的唯一方法是调用Save方法,以便将音频保存到文件中。

0 个答案:

没有答案