使用 C# 程序从 PC 麦克风获取音频
Posted
技术标签:
【中文标题】使用 C# 程序从 PC 麦克风获取音频【英文标题】:Get Audio from PC microphone with a C# program 【发布时间】:2012-06-05 08:03:38 【问题描述】:我需要使用 C# 程序从装有 Windows 7 的 PC 捕获音频。我需要得到所有频率直到 20 khz。不知道有没有办法?
【问题讨论】:
我会开始购买能够“听到”高达 20kHz 频率的麦克风,然后在谷歌上搜索“c#record audio” 【参考方案1】:尝试使用 winmm.dll api 函数。这是一个简单的例子。
using System;
using System.Runtime.InteropServices;
using System.Threading;
namespace MicrophoneTest
class Program
[DllImport("winmm.dll")]
private static extern int mciSendString(string MciComando, string MciRetorno, int MciRetornoLeng, int CallBack);
static void Main(string[] args)
//create Test alias
mciSendString("open new type waveaudio alias Test", null, 0, 0);
//start
mciSendString("record Test", null, 0, 0);
Thread.Sleep(3000);
//pause
mciSendString("pause Test", null, 0, 0);
//save
mciSendString("save Test " + "test.wav", null, 0, 0);
mciSendString("close Test", null, 0, 0);
//press any key
Console.ReadKey();
函数签名MSDN: mciSendString function.
命令列表MSDN: Command Strings。
【讨论】:
【参考方案2】:您可以在 GitHub https://github.com/naudio/NAudio 上查看 NAudio 库。
可以在这里找到一个使用 NAudio 录制麦克风输入的好项目 http://voicerecorder.codeplex.com/。
【讨论】:
【参考方案3】:我找到了一些可以帮助你的链接
访问http://www.codeproject.com/Articles/2615/DirectShow-NET? 还是http://www.codeproject.com/Articles/4889/A-full-duplex-audio-player-in-C-using-the-waveIn-w?
或者您可以使用 Matalab 并使用 Liydos dll 将其与 .Net 链接
【讨论】:
以上是关于使用 C# 程序从 PC 麦克风获取音频的主要内容,如果未能解决你的问题,请参考以下文章
适用于 macOS 的 Xcode 应用程序。这就是我设置从 USB 麦克风输入获取音频的方式。一年前工作,现在不行。为啥