You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

控制台应用使用NAudio.Core时WaveIn类型未找到的求助

解决NAudio.Core中WaveIn类型缺失的问题

问题根源

NAudio自2.0版本起采用模块化拆分设计,WaveIn这类音频输入设备相关的类型并不包含在基础的NAudio.Core包中,而是属于NAudio.Wave包的功能范畴。

解决方案

  • 卸载当前项目中的NAudio.Core包(若仅需音频采集功能,无需保留该基础包),或直接在项目中安装NAudio.Wave NuGet包:
    • 使用Package Manager控制台执行命令:Install-Package NAudio.Wave
    • 或在Visual Studio的NuGet包管理器中搜索并安装NAudio.Wave
  • 在代码中添加正确的命名空间引用:using NAudio.Wave;

修改后的代码示例

using System;
using System.Threading.Tasks;
using NAudio.Wave;

namespace PersonalAssistant
{
    class Program
    {
        static async Task Main(string[] args)
        {
            try
            {
                // 创建WaveIn实例并配置参数
                using var waveIn = new WaveIn();
                waveIn.WaveFormat = new WaveFormat(44100, 16, 2); // 44.1kHz,16位,立体声
                waveIn.DataAvailable += WaveIn_DataAvailable;

                // 开始录制
                waveIn.StartRecording();
                Console.WriteLine("正在录制音频,按回车停止...");
                Console.ReadLine();
                
                waveIn.StopRecording();
            }
            catch (Exception ex)
            {
                Console.WriteLine("错误: " + ex.Message);
            }
        }

        private static void WaveIn_DataAvailable(object? sender, WaveInEventArgs e)
        {
            // 处理采集到的音频数据,例如写入文件或实时处理
            Console.WriteLine($"采集到 {e.BytesRecorded} 字节音频数据");
        }
    }
}

额外检查项

  • 确保项目目标框架为.NET 6.0(已确认环境符合,可忽略)
  • 安装完成后清理项目并重新生成,确保NuGet包引用正确加载

内容的提问来源于stack exchange,提问作者user23146378

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 14:22:14