电脑蓝牙打电话-总结(篇外、虚拟声卡选型)

Windows电脑中通过蓝牙拨打电话

技术预研-总结(篇外、虚拟声卡选型)

在蓝牙电话项目预研过程中,发现很多方案的声音部分都不能够直接提取得到SCO语音数据。为了获取对语音数据进行加工、转发等进一步的处理,在电脑中为这些应用传入一个定向到某个内存空间的文件描述符,使应用认为该描述符是正常的声音设备,并从其内存空间中读取声音数据作为输入的声音、将底层蓝牙收到的声音写入到内存空间中。这样,上层的外部应用就可以通过定义的文件描述符的内存空间,提取和写入自己预期的声音数据。

这样的预定义内存空间的文件描述符,在项目中被定义为【虚拟声卡(VirtualAudio Cable)】。通过带有内置驱动的应用,将文件描述符标注到电脑的注册表中,使设备管理器和其它的操作系统之上的应用均认定该内存空间为标准的声音输入设备或声音输出设备。

虚拟声卡安装之后,将在声音管理的【录制】和【播放】中,分别添加一个名称相同、类型和描述不同的声音设备,通常表现为下图1所示:

 图1 - 添加了虚拟声卡后的声音设备

 图1中,我们添加了一个VBCABLE的虚拟声卡设备,添加后设备名称为“VB-Audio Virtual Cable”、设备类型分别为录制和播放设备、设备描述为CABLE Input和CABLE Output。当应用打开任意一头,进行录制设备的取操作或播放设备的写操作时,数据会同步的在另一侧中得到提现。(即当应用A往CABLE Input的播放设备中写数据时,另一个应用B将可以通过打开CABLE Output的录制设备,实时读出应用A写入的声音数据)。

这样,在项目中,针对前面几个章节中不能直接提取到语音数据的场景,可以往电脑中安装两个虚拟声卡,通过将声卡名称传递到应用或者干脆就设置为默认设备的方式,让前面章节中运行的应用从虚拟声卡中读写。外置的我们的应用,就可以针对这两个虚拟声卡的另一端,进行声音数据的提取和进一步的加工操作。

在搜索引擎中,针对Windows中的虚拟声卡设备的使用和下载地址进行简单的检索,发现目前被使用的较多的是下列三个虚拟声卡设备,如下:

  1. VirtualAudioCable 下载地址为:虚拟声卡驱动下载_虚拟声卡驱动Virtual Audio Cable官方下载-华军软件园
  2. VSC_v2.1.exe 下载地址为:VSC虚拟声卡官方下载_VSC虚拟声卡绿色版_VSC虚拟声卡V2.1中文安装版-华军软件园
  3. VBCABLE (VBCABLE_A_Driver和VBCABLE_B_Driver)。由于版权原因,暂不提供下载地址,可自行百度搜索后下载。

另外还有一个开源的虚拟声卡代码Virtual Audio Pipeline,下载地址为:https://github.com/syams86/Virtual-Audio-Pipeline,但由于项目对是否有源代码、是否开源并无特定的要求,只是检索到了但并没有编译使用。因为另外3个虚拟声卡的安装包已经能够满足项目使用了,就没有进一步深入解析。

经分析,上述的3个虚拟声卡的驱动,均能满足实际项目的需要(而且都是收费的)。由于上述1)VirtualAudioCable和2)VSC_v2.1.exe的入口还是太复杂了一些,加之本项目仅仅只需要两个虚拟声卡(分别用于声音的输入和声音的输出)。经多重权衡,最终选型了虚拟声卡VBCABLE (VBCABLE_A_Driver和VBCABLE_B_Driver)。

分别进入对应的压缩包,以管理员的方式运行VBCABLE_Setup.exe或VBCABLE_Setup_x64.exe之后,即可正常安装对应的虚拟声卡驱动。安装完毕后的声音管理的界面如下图2所示:

图2 - 添加了两个虚拟声卡后的效果

 电脑添加完两个虚拟声卡后,为了验证添加的虚拟声卡是否正常工作,且音质是否有异常。可使用VirtualAudioCable的安装包中自带的【audiorepeater.exe】工具,进行声音的重定向(连续开两个)。验证的效果如下图3所示:

图3 - 重定向麦克风声音到虚拟声卡并从扬声器播放示例

 这样,可以在电脑上使用插入的耳麦和喇叭,简单的验证安装的虚拟声卡是否生效。试验时建议VBCABLE-A和VBCABLE-B逐个的尝试,检验虚拟声卡的体验效果。

至此,虚拟声卡的安装方式就算是完成了,新安装的虚拟声卡的名称分别为:【CABLE-A Output】和【CABLE-A Output】。在项目的配置中,可以直接根据名称来获取对应的索引值。传入名称或索引值到要使用的应用即可。


上一篇:电脑蓝牙打电话-总结(四、百瑞互联BRLink)

下一篇:电脑蓝牙打电话-总结(五、玖云33e9cloud)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

limingade

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值