基于NAudio实现录制声卡声音

2023-11-09

  之前的文章《测试.net开源音频库NAudio》中介绍了基于NAudio模块中的WaveInEvent和WaveFileWriter类实现基本的录音功能,但存在一个问题:本来想录制视频中的声音,但录音过程中会把麦克风中的杂音(挪动物品的声音、说话声音等)一并录进去。
  NAudio模块中提供有WasapiLoopbackCapture类,能够获取特定输出设备的音频播放数据,再配合WaveFileWriter类即可避免出现杂音。使用比较简单,根据参考文献1中的介绍,直接将录音程序中的WaveInEvent类替换为WasapiLoopbackCapture类,不需要做其它改动,实际测试过程中也确实如此,采用WasapiLoopbackCapture类录制的网页中的视频播放声音,就算是在电脑的麦克风前大声说话或者播放手机声音,都不会被录进去。
  WasapiLoopbackCapture类继承自WasapiCapture类,使用默认构造函数时获取的是默认的音频播放设备(默认应该为获取声卡数据),也可以调用MMDeviceEnumerator可举当前电脑中的所有音频设备,然后用MMDevice类对象实例作为输入参数传入WasapiLoopbackCapture类的构造函数,以录制指定设备的声音。
  为了凑一下篇幅,再把使用的WasapiLoopbackCapture发一下

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于NAudio实现录制声卡声音 的相关文章

  • 黑苹果自制声卡仿冒驱动(AppleHDA for ALC269)

    安装完黑苹果之后 大家可能会发现系统没有任何音频输出 无论是外放还是耳机 我们可以在System Information中查看声卡相关信息 也可以在System Preference中的Sound中查看是否有声音输入输出设备 如果你的声卡没
  • C# 使用NAudio实现声音的录制(麦克风 , 扬声器)

    NAudio 简介 NAudio是个相对成熟 开源的C 音频开发工具 它包含录音 播放录音 格式转换 混音调整等功能 本次介绍主要功能有音频 录音文件播放 实时音频流波形图显示等 第一步 添加引用 在NuGet中搜索NAudio 并安装 第
  • 如何将系统麦克风音频流传输到连接设备麦克风音频流

    I am trying to attach USB device used for tele calling which have pnp sound controller for mic and speaker Now i have tw
  • 使用 NAudio 在指定位置应用线性淡入淡出

    我正在利用NAudio在我编写的 C 程序中 我想要在某个位置应用线性淡入淡出在我正在使用的一段音频中 在 NAudio 示例项目中有一个名为 FadeInOutSampleProvider cs 的文件 缓存示例 其中有BeginFade
  • 设置 MMDevice 波形格式

    我正在尝试使用以下代码设置用于录制音频设备 MMDevice 的 WaveFormat 我正在使用 NAudio Getting The WaveFormat for the device var value selectedRecordi
  • AcmNotPossible 调用 acmStreamOpen,naudio

    我正在尝试转换 PCM S16 LE araw Mono Sample rate 22050 Bit pr sample 16 to PCM mulaw PCM MU LAW Mono Sample rate 8000hz Bit pr s
  • Naudio - 将 32 位 wav 转换为 16 位 wav

    我一直在尝试将 32 位立体声 wav 转换为 16 位单声道 wav 我使用 naudio 来捕获声音 并认为仅使用四个更重要字节中的两个就可以了 这是 DataAvailable 的实现 void waveIn DataAvailabl
  • 如何在 C# 中读取 .wav 文件的比特率

    鉴于我有一个 wav 文件 在 C 中读取其比特率属性的最佳方法是什么 我尝试过Shell 并提出了一个问题 比特率 属性是否固定在索引 28 中 没有答案所以 另外 我现在相信 Shell 不是读取音频文件属性的最佳方法 我研究了不同的开
  • WasapiLoopbackCapture 内部音频识别在没有音频时给出乱码和文本

    我终于构建了一个程序来使用 NAudio 监听内部音频环回 并输出识别的文本 问题是它会听 并且总是说 例如 Recognized text had Recognized text had Recognized text had Recog
  • 如何将 2 个 wav 文件混合在一起?

    我正在尝试录制输入并将其与歌曲合并在一起 不是连接 我有一把在听歌曲时录制的吉他 我想将吉他放在歌曲中 如 audcaity 有什么办法可以做到吗 如果无法进行实时混音 是否可以在录制后合并它们 就像我录制吉他后 现在它是一个 wav 文件
  • 使用 NAudio 在 C# 中播放 ohLibSpotify pcm 数据流

    我正在尝试播放从 ohLibSpotify c 库提供的原始 pcm 数据 https github com openhome ohLibSpotify https github com openhome ohLibSpotify 我在以下
  • 从多个 WAV 文件中删除标头,然后将剩余数据连接到一个 RAW 文件中

    我有一个 RAW 音频文件 它由几个串联的较小 WAV 文件组成 我可以在 Sound Forge 中以 48 000 8 位 PCM 签名 单声道格式打开并播放此文件 我想做的是 在 C 中 以编程方式用相等或更短长度的新数据覆盖文件中的
  • 尝试了解 C# 中与 NAudio 相关的缓冲区

    我是一名化学专业的学生 试图在 C 中使用 NAudio 从计算机的麦克风收集数据 计划稍后切换到音频端口 以防与如何回答这个问题有关 我了解什么是源流 以及 NAudio 如何使用事件处理程序来了解是否开始从所述流读取信息 但在处理从流中
  • 使用 Naudio 将 MP3 文件转换为 WAV 文件时遇到问题

    瑙迪奥图书馆 http naudio codeplex com http naudio codeplex com 我正在尝试将 MP3 文件转换为 WAV 文件 但遇到了一个小错误 我知道出了什么问题 但我真的不知道如何解决它 这是我正在运
  • 将 WasapiLoopbackCapture wav 音频流转换为 MP3 文件

    我能够在 WasapiLoopbackCapture naudio 的帮助下捕获由扬声器生成的系统音频 但问题是它捕获 wav 文件并且 wav 文件的大小非常大 几乎 10 到 15 MB 分钟 我必须捕获 2 3 小时的音频 这太长了
  • 将 WAV 文件转换为频谱图

    嗨 我对这件事很陌生 所以请耐心等待 我正在尝试将 WAV 文件转换为频谱图 但不确定如何开始 我读到一些内容 说要读取 PCM 数据 我认为是我的 WAV 文件 并将其存储在 WavReader 类的数组中 然后再对其应用 FFT 并将其
  • NAudio - 更改缓冲麦克风音频的音高并发送到虚拟音频线

    我决定尝试使用 NAudio 和虚拟音频线创建一个与 Discord 或类似软件 一起使用的音板 我能够将音频从麦克风 注入 到音频电缆 这样我就可以通过选择虚拟音频电缆作为 Discord 中的输入设备来播放声音文件和麦克风音频到 Dis
  • 流式音频播放延迟(约 200 毫秒)

    我有一个播放流式音频数据的应用程序 如聊天客户端 该工作流程涉及三个简单步骤 首先发送文件头信息 采样率 每个样本的位数和通道数 音频波形输出设备根据上述参数进行初始化 音频 pcm 数据被发送并在上述设备上播放 数据接收代码是本机的 C
  • 从 WasapiLoopbackCapture 捕获音频,并转换为 muLaw

    我正在使用 WasapiLoopbackCapture 捕获音频 format IeeeFloat SampleRate 48000 BitsPerSample 32 我需要将其转换为 muLaw 8Khz 8 位 单声道 最终它将通过 S
  • 如何播放 Spotify 音乐流

    首先 我是音频节目的新手 所以请耐心等待 我正在尝试使用 NAudio 或 BASS Net 或任何其他 net 音频库播放 Spotify 音乐 据我所知 libspotify 将音乐作为原始 PCM 数据提供 Spotify 流 lib

随机推荐

  • PostgreSQL jdbc 9.4 支持load balance 和 connection failover了

    Postgres2015全国用户大会将于11月20至21日在北京丽亭华苑酒店召开 本次大会嘉宾阵容强大 国内顶级PostgreSQL数据库专家将悉数到场 并特邀欧洲 俄罗斯 日本 美国等国家和地区的数据库方面专家助阵 Postgres XC
  • js使用theamleaf的值

  • Fn+F11/F12无法调整屏幕亮度的问题

    设备管理器看下监视器是否显示通用即插即用显示器 双击打开 位置显示 在 Intel UHD Graphics 上 右击开始菜单 设备管理器 监视器 双击 如果不是的话就是其他乱七八糟的远程软件 或者是什么鬼东西给显示器安装了个软件驱动方便它
  • 求二叉树中度为1的结点个数

    内容 若用二叉链表作为二叉树的存储表示 设计算法求二叉树中度为1的结点个数 步骤 1 算法分析 本题需要采用二叉链表作为二叉树的存储结构 来求解二叉树中度为1的结点个数 大体上分为两部分 第一 建立二叉树 此处采用先序的方式建立二叉树 其次
  • 新电脑的正确打开方式——(近万字图文并茂详细分步骤讲解)【万一那天你就有新电脑了呢】包括个性化·等你来解锁哦

    新电脑买回来如何让配置 新电脑买回来如何装饰 新电脑买回来如何让电脑更干净 等等 这些问题都在困惑着大家 那么接下来我急来告诉大家 新电脑的正确打开方式吧 建议收藏此博客 万一那天你也有属于自己的新机了呢 似此星辰非昨夜 为谁风露立中宵 作
  • 计算机毕业设计 基于SpringBoot餐厅点餐系统的设计与实现 Java实战项目 附源码+文档+视频讲解

    博主介绍 从事软件开发10年之余 专注于Java技术领域 Python人工智能及数据挖掘 小程序项目开发和Android项目开发等 CSDN 掘金 华为云 InfoQ 阿里云等平台优质作者 文末获取源码联系 精彩专栏推荐订阅 不然下次找不到
  • 03_uboot的源码目录分析

    一 文件夹 1 api 硬件无关的功能函数的API 这些函数是uboot本身使用的 uboot移植时基本不用管 2 api examples API相关的测试事例代码 3 board board是板的意思 就是开发板 这个文件夹下放的每一个
  • mysql优化(1)show命令 慢查询日志 explain profiling

    原文地址 http zhumeng8337797 blog 163 com blog static 1007689142012095142876 suggestedreading wumii 目录 一 优化概述 二 查询与索引优化分析 1性
  • 正则表达式判断是否以某字符串结尾

    前言 正则来实现判断他是否以指定字符串结尾 实现效果 实现思路 判断他是否以指定字符串结尾 实现代码 判断是否以 jpeg结尾 let str ajsjsjsjsjjsjjpeg let str1 jpegajsjsjsjsjjsjjpmm
  • Python 面向对象(二)

    6 2 继承 继承就是一个类可以获得另外一个类中的成员属性和成员方法 作用 减少代码 增加代码的复用功能 同时可以设置类与类直接的关系 继承与被继承的概念 被继承的类叫父类 也叫基类 也叫超类 用与继承的类 叫子类 也叫派生类 继承与被继承
  • 一步一步教你如何在Altium Designer中导入ALLEGRO的brd文件

    课题组其他人都用Allegro 我一个人死撑着用AD 共享设计时原理图还方便导入 PCB文件麻烦了 于是一直在找如何从AD中导入Allegro的brd文件的方法 一直未果 曾经找了个CAMCAD Pro 号称可以 但不会用 呵呵 也可能是不
  • python找色_Python-查找相似的颜色,最好的方法

    I ve made a function to find a color within a image and return x y Now I need to add a new function where I can find a c
  • uniapp scrollview设置显示滚动条

    需要在style中添加 v deep webkit scrollbar 滚动条整体样式 display block width 10rpx important height 10rpx important webkit appearance
  • 2015开源技术大会将于3月28日召开 设女性开源专场

    原文 http ostc csdn net 由 CSDN 腾讯 腾讯云 腾讯基金会主办的 开源技术大会 2015 Open Source Technology Conference 简称OSTC 官网 http ostc csdn net
  • 2019——JAVA 面试题大全(二)容器

    二 容器 1 java 容器都有哪些 Java 容器分为 Collection 和 Map 两大类 其下又有很多子类 如下所示 Collection List ArrayList LinkedList Vector Stack Set Ha
  • 一段C++代码的一生(C++代码编译过程详解)

    用分享的方式成长 用有趣的眼光看世界 欢迎来到12 26 25的博客 热爱编码 算法 知识总结 不定期更新有趣 有料 有营养内容 让我们共同学习 共同进步 好文推荐 从B站 哔哩哔哩 泄露的源码里发现了B站视频推荐的秘密 值得学习17个C
  • java heap space

    在网上一查可能是JAVA的堆栈设置太小的原因 结合网上的答案大致有这两种解决方法 1 设置环境变量 set JAVA OPTS Xms32m Xmx512m 可以根据自己机器的内存进行更改 但本人测试这种方法并没有解决问题 可能是还有哪里需
  • 钢铁缺陷检测挑战赛 11月第5名方案

    文章目录 零 写在最前 一 安装PaddleDetection 二 数据预处理 三 训练 四 评估模型 五 预测 六 生成比赛结果 7 总结 零 写在最前 该项目源于 飞桨学习赛 钢铁缺陷检测挑战赛 基于飞桨目标检测开发套件PaddleDe
  • Dubbo的使用及原理

    Dubbo是什么 Dubbo是阿里巴巴SOA服务化治理方案的核心框架 每天为2 000 个服务提供3 000 000 000 次访问量支持 并被广泛应用于阿里巴巴集团的各成员站点 Dubbo 是一个 分布式服务框架 致力于提供 高性能和透明
  • 基于NAudio实现录制声卡声音

    之前的文章 测试 net开源音频库NAudio 中介绍了基于NAudio模块中的WaveInEvent和WaveFileWriter类实现基本的录音功能 但存在一个问题 本来想录制视频中的声音 但录音过程中会把麦克风中的杂音 挪动物品的声音
Powered by Hwhale