准备做个非特定的声音识别程序,卡在录音和切割一小段时间,C#下基于DirectX的声音处理真的超级麻烦,后来找到了NAudio,非常好用,安利给大家,顺带把几个小坑稍微描述下,希望帮到类似需求的人。
项目下载:
NAudio官方地址:http://naudio.codeplex.com/
GitHub地址:https://github.com/naudio/NAudio
下载后是完整的工程文件,直接运行应该没问题,官方的demo都写成自定义控件的形式,界面写的不错,我也就懒得慢慢摘出来了,照猫画虎的去掉了demo里面选择控件的部分,直接显示在tabControl里,效果如下图。
private void MainForm_Load(object sender, EventArgs e)
{
var demos = ReflectionHelper.CreateAllInstancesOf<INAudioDemoPlugin>().OrderBy(d => d.Name);
var plugin1 = (INAudioDemoPlugin)demos.Last();
var control1 = plugin1.CreatePanel();
control1.Dock = DockStyle.Fill;
panel1.Controls.Add(control1);
var plugin2 = (INAudioDemoPlug