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类具 ...
随机推荐
- 使用apt-mirror搭建debian镜像源
debian官方提供了脚本ftpsync来搭建源镜像,而 apt-mirror 是一个更简单便捷的源镜像搭建工具. 安装 apt-mirror sudo apt-get install apt-mir ...
- Leetcode: 43. 接雨水
题目描述: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情 ...
- 【译文】走出Java ClassLoader迷宫 Find a way out of the ClassLoader maze
本文是一篇译文.原文:Find a way out of the ClassLoader maze 对于类加载器,普通Java应用开发人员不需要了解太多.但对于系统开发人员,正确理解Java的类加载器 ...
- Spring Boot通过Configuration配置多数据源
本文结合SpringBoot + MyBatis + MySql进行多数据源配置,DataSource信息采用自定义dataSource.properties进行配置. 1.文件结构如下: 2.1 p ...
- Guava集合工具
JDK提供了一系列集合类,如下所示,极大的方便了开发工作,并针对这些类提供了一个工具类java.util.Collections,Guava在此基础上添加了一些常用工具类方法,相比于java.util ...
- NIO网络编程
1.创建服务端代码 public class NioServer { private static Map<String, SocketChannel> clientMap = new H ...
- CentOS7 升级 cmake
编译cmake文件时,报错:CMake 3.0.0 or higher is required. You are running version 2.8.12.2 很明显,这是 cmake 版本过低导 ...
- linux环境下安装python 3
说明: 在linux环境下,都默认安装python 2的环境,由于python3在python2的基础上升级较大,所以安装python 3环境用于使用最新的python 3的语法. 安装过程: 1.下 ...
- 执行redis命令redis-trib.rb查看集群信息报错cannot load such file -- redis (LoadError)
问题描述: 在执行redis-trib.rb命令查看集群状态的时候,报错: [aiprd@hadoop1 ~]$ redis-trib.rb check Traceback (most recent ...
- ubuntu16.04下安装运行PL-SLAM
PL-SLAM是Ruben Gomez-Ojeda大神融合点和线特征SLAM的最新成果,并开放了源代码,本博文记录安装运行PL-SLAM遇到的一些问题. 1源代码地址 https://github.c ...