当前位置: 首页 > news >正文

关于做网站的前言电商培训学校

关于做网站的前言,电商培训学校,白沟17网站一起做网店,制作wordpress页面模板下载手机实时提取SIM卡打电话的信令声音-新的篇章(三、Android虚拟声卡探索) 前言 前面的篇章中,我们从理论方向和实际市面上出现的音频线传输声音的方式,讨论绕开手机对SIM卡电话通话声音的封锁场景的可行性,并实际选购几款数字和模拟的USB转接…

手机实时提取SIM卡打电话的信令声音-新的篇章(三、Android虚拟声卡探索)

前言

前面的篇章中,我们从理论方向和实际市面上出现的音频线传输声音的方式,讨论绕开手机对SIM卡电话通话声音的封锁场景的可行性,并实际选购几款数字和模拟的USB转接3.5mm音频口的转接头和耳机进行测试,验证这个方向对Android手机型号和系统版本的影响和支持力度。

本篇章中,我们尝试从虚拟声卡的角度来构思一下,如何不用任何外置配件的方式,提取到手机或电脑设备中输出的声音数据。

由于GCC编译体系中,Linux、Windows、Android、嵌入式Linux基本不分家,我们可以采用先从电脑版本的Linux或Windows系统中把方案架构和测试工具和测试手段都整理出来后,再尝试将它们移植到Android和嵌入式Linux的方式,进行迁移和验证。进而得出这些方式或方法是否有效、以及是否符合预期要求的评估结论。

什么是虚拟声卡

虚拟声卡是一种软件程序,允许用户在系统中创建一个虚拟的音频设备。通过这个设备,用户可以输入和输出音频数据,而无需依赖物理声卡。虚拟声卡尤其适用于需要音频路由的应用,比如录音软件、在线会议等。

虚拟声卡有什么作用

虚拟声卡主要用在没有声卡的机器上实现声音播放等功能。它是一种软件解决方案,允许计算机在没有硬件音频设备的情况下产生和处理声音。

常见的虚拟声卡的场景有哪些

要说虚拟声卡的常见场景,在云服务器的各种虚拟容器中进行软声卡的安装后再将声音传输到本地播放的场景是我们最常见的虚拟声卡的场景。因为通常在云服务器和云服务器划分的虚拟容器中,是不存在物理声卡的,要想让远程的机器发声或者让容器内依赖声卡工作的软件能正常安装和使用,最简单的方式就是在容器中配置虚拟声卡(可能会包括驱动和内核应用),通过虚拟声卡把声音进行回传或按预制的方式进行处理。

至于Android的虚拟声卡,现在市面上云手机大把,随便一搜到处都是,它们也是在云服务器中分割出一个个容器,然后再上面安装各种软件,把声音传输回本地设备进行播放。从理论上来说,Android的虚拟声卡与普通的远程Windows或Linux中配置的虚拟声卡并不存在本质上的区别。

你看,其实虚拟声卡到处可见,属于老生常谈的应用场景。阳光下并没有多新鲜的事情。

在乌班图(Ubuntu)中配置虚拟声卡

Linux中由于yum源的众所周知的原因,我们一般采用Ubuntu来进行宿主机环境的验证。在Ubuntu中,虚拟声卡通常采用snd-aloop来进行,即通过apt-get install alsa-utils安装了对应工具集后,通过配置/etc/modprobe.d目录下的文件,把虚拟声卡加载到Linux系统当中。在使用的时候,可以使用aplay -l 查阅系统中配置的声卡,并大致如下:

sudo apt-get install alsa-utils

sudo modprobe snd-aloop

lsmod | grep snd_aloop

arecord -l

aplay -l

如果需要虚拟声卡在启动的时候就自动创建,就需要修改/etc/modprobe.d/alsa-base.conf文件,在文件内添加如下一行内容后,运行sudo alsa force-reload命令重启音频服务即可。

# 创建虚拟声卡

options snd-aloop index=0

如果不需要自动创建则不用配置,只需要手动运行sudo modprobe snd-aloop命令即可,如下图所示:

Win/Linux/Android不同平台的声卡的差异

Android和Linux都使用ALSA框架来进行声音音频的调度,对于普通声音而言,二者除了使用的授权上有差异之外,其余方面并无特殊的差异。

Windows方面由于音频驱动架构方式的不同,在部署和使用上存在较大的差异,但Github中本身就存在有开源库Virtual Audio Pipeline,下载地址为:https://github.com/syams86/Virtual-Audio-Pipeline

我们在早些年的篇章中对Windows平台虚拟声卡的使用进行了描述,感兴趣的读者可以自行查阅《电脑蓝牙打电话-总结(篇外、虚拟声卡选型)》电脑蓝牙打电话-总结(篇外、虚拟声卡选型)_vb-audio virtual cable-CSDN博客

虚拟声卡如何测试和检验效果

上述操作中创建的虚拟声卡,都是成对出现的,即同一个声卡card号的device 0 和device 1一个做输入另一个做输出。

在使用中,我们可以简单的对device 0做播放音频文件,然后对device 1进行录音,或者反过来操作,实现声音和通话的全双工通信。如下图所示:

我们在Linux中可以使用【arecord -D hw:1,1,2 -r 采样率 -t wav 文件名】的方式对虚拟声卡进行录制,使用【aplay -D hw:1,0,2 -c 1 -r 采样率 文件名】的方式对虚拟声卡进行播放,实现将文件10086.wav通过虚拟声卡播放并转录到10086_output.wav文件的目的,如下图:

我们将播放的原始文件和转录后的输出文件,使用GoldWave或其它音频播放工具进行打开和查阅,可以很容易看出虚拟声卡的录制是能正常生效的。也即使用此方式在Linux中创建的虚拟声卡,能够正常应用在声音数据的重定向和提取。理论上,此方式也应该能正常迁移到Android系统或嵌入式Linux中,供具有root超级用户权限的应用进行运行和使用。

小结与思考

经过我们对Linux和Ubuntu的一顿命令和文件数据操作,我们很简单的就通过电脑桌面的方式复现了虚拟声卡对媒体应用在声音传输方向的提取和加工操作。当前的计算机世界完全具有完善的方案进行此类普通声音或语音文件的媒体操作能力。

但这里的虚拟声卡其实还有一个最重要的使用场景没有验证:它能传递普通的音乐和铃声等声音,但它能传递电话通话的声音吗?而这才是跟本次主题息息相关的问题。

这个疑问,并非没有先例。安卓手机在同屏共享领域有一个非常知名的开源软件scrcpy,它在针对Android11及以上版本就提供了声音共享的能力,使电脑和手机同屏共享时能把手机播放的声音清晰的从adb传输线中同步到电脑进行播放。但是,打电话时的声音通道无法被共享。

因此,在这一块上,如果我们需要对当前预研的课题进行打电话声音方向上的提取,使用ALSA方式或PulseAudio进行声音数据的提取,需要进行更多和更细致的扩展和适配,并不是看上去的那么简单。


上一篇:手机实时提取SIM卡打电话的信令声音-新的篇章(二、USB音频线初步探索)

下一篇:手机实时提取SIM卡打电话的信令声音-新的篇章(篇外小结与思考)

http://www.dt0577.cn/news/38521.html

相关文章:

  • 桂林设计单位资质升级网站天津搜索引擎优化
  • 手机必备app网站做优化
  • wordpress洛米主题排名优化公司口碑哪家好
  • 郑州做网站哪个公司好广州seo招聘
  • 软件ui设计怎么做网站企业关键词推广
  • 九江网站推广seo查询平台
  • 网络服务商包括海曙seo关键词优化方案
  • 网站制作综述百度网址大全首页
  • 什么叫网站根目录网络广告形式
  • 网络营销公司起名整站优化案例
  • 做网站不备案百度营销平台
  • 优化网站用什么软件好800元做小程序网站
  • 网站后台乱码怎么办百度百度网址大全
  • 快手等视频网站做推广网络营销的优势是什么
  • 网站后台不能粘贴重庆seo建站
  • 仿 wordpress推广关键词优化
  • 药学专业网站西安seo外包
  • 北京市建设工程信息网力推中项网1seo怎么读
  • 自己建网站备案搜索引擎有哪些类型
  • 网站拉圈圈接口怎么做交换友情链接
  • 大数据平台是什么seo的培训班
  • logo设计软件手机版阜阳seo
  • 泸州做网站的公司有哪些关键词排名点击软件怎样
  • 全国工商企业信息查询网官网整站优化服务
  • 在美国建设网站sem搜索引擎营销
  • 网站备案信息真实性核验单怎么弄荆州百度推广
  • 微信公众号小说网站怎么做网站服务器怎么搭建
  • 天河做网站设计优化大师是什么
  • 网站制作主题思路成都网络营销搜索推广
  • 怎么做博客网站网站注册信息查询