使用Naudio使用指定声卡播放声音
// 获取WaveOut设备数量
int deviceCount = WaveOut.DeviceCount;
// 遍历每个设备,获取其DeviceNumber及相关信息
for (int deviceNumber = 0; deviceNumber < deviceCount; deviceNumber++)
{
var capabilities = WaveOut.GetCapabilities(deviceNumber);
list1.Add(capabilities);
}
capabilities的信息如下
{
"Channels": 2,
"SupportsPlaybackRateControl": true,
"ProductName": "耳机 (2- High Definition Audio De",
"NameGuid": "de13cce0-8304-4ee9-bace-4824214e3ea5",
"ProductGuid": "dc97ac9c-ddec-4d59-b650-3b8ba67bc2a1",
"ManufacturerGuid": "d5a47fa8-6d98-11d1-a21a-00a0c9223196"
}
private WaveOutEvent waveOut = new WaveOutEvent();
private AudioFileReader reader;
bool NeedStop = false;
public NAudioPlayer(int deviceNumber, string audioFilePath)
{
// 初始化WaveOutEvent
waveOut.DeviceNumber = deviceNumber;
// 使用AudioFileReader读取音频文件
reader = new AudioFileReader(audioFilePath);
// 设置播放停止时的事件处理
waveOut.PlaybackStopped += OnPlaybackStopped;
// 初始化播放器
waveOut.Init(reader);
}
不可使用
var list2 = new MMDeviceEnumerator().EnumerateAudioEndPoints(DataFlow.Render, DeviceState.Active);
获取设备的deviceNumber
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2019-05-28 c# winform访问 带有windows身份验证的webservice
2013-05-28 Javascript模块化编程(二):AMD规范
2013-05-28 Javascript模块化编程(三):require.js的用法
2013-05-28 Javascript模块化编程(一):模块的写法