C# 记录麦克风输入并将其存储在字节数组中,而不是本地存储

Posted

技术标签:

【中文标题】C# 记录麦克风输入并将其存储在字节数组中,而不是本地存储【英文标题】:C# Record microphone input and store it in array of bytes instead of local storage 【发布时间】:2013-06-25 17:14:34 【问题描述】:

我正在尝试记录我的麦克风输入,而不是将记录保存在本地硬盘驱动器中的 wav 文件中,我想将其实时存储在字节数组中。

所以当我说话的时候,它会记录我的声音并将字节实时存储在一个数组中。

有可能吗?

目前我使用的代码只记录我的声音,然后最终在我完成录音后将其保存在一个文件中。

这是代码:

        [DllImport("winmm.dll", EntryPoint = "mciSendStringA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
        private static extern int mciSendString(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);

        // START RECORDING
        mciSendString("open new Type waveaudio Alias recsound", "", 0, 0);
        mciSendString("record recsound", "", 0, 0);

        // STOP RECORDING
        mciSendString(@"save recsound " + "Hello" + ".wav", "", 0, 0);
        mciSendString("close recsound ", "", 0, 0);

【问题讨论】:

是的,你可以。您可以将任何内容实时存储到字节数组中。您还可以随时将该字节数组序列化到磁盘或其他存储机制中。这完全取决于您的代码的结构。我认为您没有向我们提供足够的信息来理解您的问题。 【参考方案1】:

您正在使用任务? () 是 Windows Forms 应用程序还是 Webforms?您可以使用异步创建任务。异步编程。

【讨论】:

以上是关于C# 记录麦克风输入并将其存储在字节数组中,而不是本地存储的主要内容,如果未能解决你的问题,请参考以下文章

将字节变量添加到字节数组中的正确方法

在C#中获取整数的上下字节并将其作为char数组发送到com端口,如何?

将文件加载为字节数组,而不在内存中分配它 C#

java中,ImputStream类中的read(byte []b)方法

将字符串与用户输入分开而不是将其放入数组的分段错误

Java - MP3 解码并将其存储到字节数组中