C#录制声卡声音喇叭声音音箱声音
在项目中,我们会需要录制电脑播放的声音,比如歌曲,电影声音,聊天声音等通过声卡音箱发出的声音。那么如何采集呢?当然是采用SharpCapture!下面开始演示关键代码,您也可以在文末下载全部源码:
设置授权
第一步:在引用了SharpCapture.dll之后,调用SharpCapture方法之前,一定要先通过下面代码来设置授权信息,如果是试用版,直接输入Test即可。
KeyMgr.SetKey("Test");
获取ISoundcardCapture的示例
从之前的一篇博文中,我们介绍了一张图看懂SharpCapture,从那篇文章我们可以看出,SharpCapture通过ISoundcardCapture采集声卡的声音数据。那么如何获取该接口的示例,从而使用该接口提供的各个方法呢?请看下面的代码:
//声卡数据采集
soundcard = CaptureFactory.GetSoundcardCapture();
绑定事件
获取到了ISoundcardCapture的示例后,为其绑定事件AudioDataCaptured。每当引擎采集到声音数据,就会将数据上交给该事件的响应函数上,您就可以进行下一步的处理,比如保存为音频文件。
//注册采集到声音数据的事件,每当采集到声音数据,就通过该事件上报
soundcard.AudioDataCaptured += new SGDelegate<byte[]>(SoundcardAudioDataCaptured);
处理数据
可以在获取到声音字节流后进行后续处理。
/// <summary>
/// 采集到声卡的声音数据
/// </summary>
/// <param name="audioData">声音数据</param>
public void SoundcardAudioDataCaptured(byte[] audioData)
{
if (this.InvokeRequired)
{
this.BeginInvoke(new SGDelegate<byte[]>(SoundcardAudioDataCaptured), audioData);
}
else
{
//写入声卡的wav文件中
if (soundcardWav != null)
{
soundcardWav.WriteAudioData(audioData);
}
}
}
开始采集
处理完上述步骤后,就可以开始采集了。如下:·
soundcard.Start();
停止采集
您可以通过下面的代码停止采集:·
soundcard.Stop();
demo源码下载
C#录制声卡声音喇叭声音音箱声音的更多相关文章
- 把演讲人的桌面、头像、声音合成后推送到 指定的直播流平台上; 录制电脑桌面、摄像头头像、声音保存为本地视频; 适用于讲课老师、医生等演讲内容保存为视频; 提供PPT嵌入Winform/WPF解决方案,Winform/WPF 中嵌入 office ppt 解决方案
提供PPT嵌入Winform/WPF解决方案,Winform/WPF 中嵌入 office ppt 解决方案 Winform/WPF 中嵌入 office ppt(powerpoint)解决方案示: ...
- Win10 耳机无声音,扬声器有声音的解决办法
注:适用于WIN10及WIN10.ubuntu双系统耳机无声音的问题. 在WIN10的引导下,安装了Ubuntu的桌面版,作成了双系统,可是发现了一个问题:进入Win10后插耳机会没有声音,扬声器有声 ...
- 使用 Audacity 录制声卡声音
在Linux中使用 Audacity 录制电脑播放的声音非常简单,其实主要设置不在 Audacity 上,而是要设置好输入设备并选择对录音输入源. 首先确认输入设备中 内置音频的Monitor 没有被 ...
- win10安装后耳机有声音而外放无声音
安装win10后耳机声音正常,而外放没声音.检查了小喇叭.播放器和设备管理器一切正常,驱动也重装了好些次.喇叭音量设置.视频音量设置均正常.花费很多时间,结果发现是键盘上有个小喇叭+的键的问题.按fn ...
- [RK3399] ES8316+NS4150 播放视频只有背景音,播放歌曲有的有声音,有的无声音
CPU:RK3399 系统:Android 音频IC:ES8316 功放IC:NS4150 以前也在 RK3399 上调试过 ES8316,功能都正常,新主板只是更换了功放IC,就出现无声音的问题(仔 ...
- 什么是ASCII码?
㈠定义 ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现 ...
- ASCII 文件编码格式
文件编码格式 阶段一:ASCII 阶段二:ANSI(本地化) 如:GBK.GB2312 阶段三:UNICODE(国际化) 如:UTF-8 ASCII(American Standard Code fo ...
- 使用 Python 的 sounddevice 包录制系统声音
博客中的文章均为meelo原创,请务必以链接形式注明本文地址 sounddevice是一个与Numpy兼容的录音以及播放声音的包. 安装sounddevice包 直接通过pip就能安装. pip in ...
- Android使用的开发MediaRecorder录制声音
至 Android 录制声音的应用,Android提供 MediaRecorder 类别.大约MediaRecorder可以参考一个特定的解释<Android开发之MediaRecorder类具 ...
随机推荐
- jmeter(五十一)_性能测试中的服务器资源监控与分析
概述 性能测试过程中,对服务器资源的监控是必不可少的.这里的资源又分了两块,windows和linux linux下监控资源 访问网址http://jmeter-plugins.org/downl ...
- BiseNet阅读总结
一.思路 语义分割既需要丰富的空间信息,又需要较大的感受野.然而,现代方法通常会牺牲空间分辨率来实现实时推理速度,导致性能低下.本文提出了一种新的双边分割网络(BiSeNet)来解决这一难题.我们首先 ...
- 彻底搞懂BERT
https://www.cnblogs.com/rucwxb/p/10277217.html
- Spring的注解收集
@Scope("prototype")spring 默认scope 是单例模式scope="prototype" 可以保证 当有请求的时候 都创建一个Actio ...
- Meson version is 0.44.1 but project requires >=0.45.
/******************************************************************************* * Meson version is ...
- LiteIDE 设置默认编译输出位置
go build命令默认输出路径是当前工作路径,这个显得比较乱,我习惯于把输出文件放置在项目的build目录下,这样方便查找,已经同步备份的时候排除不必要的文件. go build命令可以指定-o 输 ...
- 前端文章索引:HTML+CSS+JS
1 HTML 1.1 HTML5 HTML5 – 1.基础 HTML5 – 2.新元素 HTML5 – 3.加强版ol HTML5 – 4.canvas 2 CSS 2.1 CSS3 CSS3–1.c ...
- react问题You must install peer dependencies yourself.
npm WARN react-native@0.46.4 requires a peer of react@16.0.0-alpha.12 but none is installed. You mus ...
- 【WPF】通过修改dataGrid的cell的style,改变选中行失去焦点时的颜色
<Style TargetType="{x:Type DataGridCell}"> <Style.Triggers> <Trigger Proper ...
- 014-交互式Shell和shell脚本获取进程 pid
Linux 的交互式 Shell 与 Shell 脚本存在一定的差异,主要是由于后者存在一个独立的运行进程 1.交互式 Bash Shell 获取进程 pid 在已知进程名(name)的前提下,交互式 ...