首页 > 其他分享 >使用Naudio使用指定声卡播放声音

使用Naudio使用指定声卡播放声音

时间:2024-05-28 15:33:51浏览次数:28  
标签:int Naudio waveOut deviceNumber AudioFileReader 声卡 WaveOut 使用 capabilities


// 获取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 

标签:int,Naudio,waveOut,deviceNumber,AudioFileReader,声卡,WaveOut,使用,capabilities
From: https://www.cnblogs.com/simadi/p/18218134

相关文章

  • 如何使用Python和大模型进行数据分析和文本生成
    如何使用Python和大模型进行数据分析和文本生成Python语言以其简洁和强大的特性,成为了数据科学、机器学习和人工智能开发的首选语言之一。随着大模型(LargeLanguageModels,LLMs)如GPT-4的崛起,我们能够利用这些模型实现诸多复杂任务,从文本生成到智能对话、数据分析等等。在......
  • 怎么使用Stable diffusion中的models
    Stablediffusion中的modelsStablediffusionmodel也可以叫做checkpointmodel,是预先训练好的Stablediffusion权重,用于生成特定风格的图像。模型生成的图像类型取决于训练图像。如果训练数据中从未出现过猫的图像,模型就无法生成猫的图像。同样,如果只用猫的图像来训练模型,它也......
  • 若依微服务版使用swagger
    第一步,在使用的nacos模块下添加 swagger.enabled.true(貌似可有可无) 第二步:重启该模块,刷新页面,并且打开系统工具的系统接口第三步:进入swagger调试页面,选择要调试的模块和controller,找到要调试的方法,出现调试页面第四步:点击【试试看】按钮,点击【execute】按钮即可进行调试......
  • Android NDK使用指南(基础篇)
    引言在Android开发中,大多数应用程序都是用Java或Kotlin编写的。然而,有时候我们需要使用C或C++代码来提高性能,或者为了与现有的C/C++库集成。AndroidNDK就是为此目的而设计的工具包。本文将介绍AndroidNDK的相关基本概念和基础使用方法,帮助读者初步理解NDK。......
  • Linux使用脚本一键安装Oracle11g
    最近一直在搞服务器,记录下使用脚本安装Oracle数据库,仅供学习使用链接:https://pan.baidu.com/s/1Rrx5SeA-t8hKZW2ZqlqfZg 提取码:lss11.安装CentOS7虚拟机Linux2.修改IP(自动分配IP或者配置静态IP)cd/etc/sysconfig/network-scripts/ls查看文件(后续要使用ens33)修改ifvf......
  • SW方程式使用
    进入工具-选项,把方程式选项改成显示画好草图标注尺寸,右键方程式,管理方程式可以使用已经生成的标注尺寸,例如下面将尺寸设置成全局变量'A'......
  • linux使用ipset禁止国外IP访问
    一、安装ipsetyuminstallipset-y二、禁止firewalldsystemctlstopfirewalldsystemctldisablefirewalld三、设置iptables默认允许规则iptables-PINPUTACCEPT四、清空其他规则[root@hlcc~]#iptables-F五、查看规则[root@hlcc~]#iptables-LChain......
  • 最新钻石大亨全自动协议挂机项目,单机一天5+【协议脚本+使用教程】
    钻石大亨,这款创新的手机应用,如同一场刺激的淘金热,为用户带来了轻松赚取收入的新机会。它将游戏与收益结合,让你在享受游戏的同时,也能从中赚取收益。......
  • 淘宝死店全自动采集私信筛选脚本,号称日赚500+【采集脚本+使用教程】【5月26日更新】
    在当今的电子商务市场中,淘宝作为国内最大的电商平台,拥有着海量的店铺和商品。然而,在这些店铺中,有一部分店铺由于各种原因长时间未登录,这些被称为"死店"的店铺,却为我们提供了一个全新的赚钱模式。淘宝死店全自动采集私信筛选项目,就是运用脚本技术,自动采集长时间未登录的店......
  • Windows10(家庭版)中DockerDesktop(docker)的配置、安装、修改镜像源、使用
    场景Windows10中Docker的安装与遇到的那些坑:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119209218上面讲DockerDesktop在windows10非家庭版上的安装,如果是家庭版,则需要执行如下步骤。注:博客:https://blog.csdn.net/badao_liumang_qizhi实现1、虚拟化检......