手机实时提取SIM卡打电话的信令声音-新的篇章(二、USB音频线初步探索)
前言
前面的篇章和方案中,我们从架构拓扑和原理的角度分析了使用音频线来绕开手机对SIM卡电话的通话声音的封锁场景的可行性,并尝试拆分和对比模拟3.5mm耳机的音频和USB的数字音频线在使用上的差异。
在本篇中,我们将针对Android手机各个历史的演进版本,列举一下Android各主流品牌的设备对USB数字音频在语音播放和电话通话语音的支持程度、限制条件和日常中常用的应用场景。
同时,我们简单的花了一两百块钱,从市面上的京东淘宝拼多多中简单的选型和试用了一下市面上各种数字音频线和模拟音频线,并对比一下它们之间的差异。为后续选型以及对《手机实时提取SIM卡打电话的信令和声音》进行轻量化和简易化封装的操作提供早期的数据和保底的使用习惯支撑。有助于简化我们产品的用户操作流程,降低使用复杂度。
音频线介绍
目前市面上Android手机使用的音频线一般只分为3.5mm耳机口和USB口,其中3.5mm耳机口必定传输的模拟信号,耳机中的线控按键使用调频的方式、采用类似DTMF码来传输线控按键中【暂停/播放、上一首、下一首、关闭麦克风】等约定事件。
USB音频线和3.5mm耳机线的外形,大致如下图所示:
也别太相信淘宝卖家说的什么HIFI音质巴拉巴拉的,对于我们这次课题而言,语音通话基本都是走8K采样、64Kbps的传输线路,随便什么的音频线都是可以的,你就算耍出花来,在语音通话中也是用不到的,意思意思一下就算了。
USB音频线
手机USB口中输出的音频线,主要分为USB模拟音频线和USB数字音频线。
它们之间在外形(模具)上基本是没有任何差异的,在USB头处接线方式上模拟线是直接默认手机传输出来的接线D+和D-传输的是模拟信号,所以它们直接把耳机模拟线焊接到USB口的信号线上。
而USB数字音频线的USB接头处会转接到一个叫【数字解码芯片】的DSP模块上,由该模块进行数字转模拟的D/A转换后,再将模拟信号输出到耳机线中。所以USB数字音频线在广告词上宣称可以做一些诸如“主动降噪”、“语音增强”等额外处理。
USB数字音频线和USB模拟音频线,外观上大致如下图所示:
在使用场景上,USB模拟音频线要求手机必须在USB口中具备输出模拟语音信号的能力(这个能力在一般的市面上的手机上通常是不具备的),这就极大的限制了USB模拟音频线的使用范围。
USB数字音频线就没有这个限制,基本上现在(以2024年9月为刻度)市面上的所有手机,都能很好的支持USB数字音频线(如果不行,说明要不就是线不行,要不就是手机有问题了,不用去看什么手机OTG是否打开、没必要)。
价格上,京东淘宝拼多多的零售价格大致以15元为分界线:15元以下的大多为USB模拟音频线,超过这个价格的一般为USB数字音频线(因为引入DSP芯片增加了成本)。
USB数字音频转换器选型
我们目的是找一个外置配件,插入Android手机中,能让它在顶上状态栏中显示有耳机图标,并且在手机使用过程中应用的声音、打电话的通话音频都从这个通道输出,就算符合我们选型需求的配件。
我们在京东淘宝拼多多中简单过滤筛选了一下,发现要从USB口输出音频,如果是特殊的【无3.5mm音频口的新式手机】,可能只需要插入USB模拟耳机,即可在手机中显示耳机图标。除此之外的其它任意一部手机均需要一个【DAC解码芯片或数字解码芯片】的DSP模块,来将手机USB接口传出的数字音频进行数字模拟转换后,才能正常在耳机中播放。
事实上,要实现“插入USB后手机顶上状态栏中显示有耳机图标”这个需求,根本不需要模拟线到耳机这一侧的配件,只需要一个【type-c转3.5mm耳机转接头】就够了,插进去后直接就出现耳机图标,后续的语音和通话声音都会从USB口中输出。
USB数字音频线耳机和USB数字音频转模拟的转接头的产品,如下图所示,仅供参考:
数字解码芯片的DSP模块大致如下这个图片所示,USB插口后那个小小的芯片就是做数字转模拟(声音播放-D/A转换、麦克风数据-A/D转换)的最主要元件。
Android手机USB数字音频耳机的约束
插入USB耳机时,手机顶部状态栏中显示有耳机图标。如果是数字耳机,手机的状态栏下拉后将显示【USB声卡】的相关通知提醒,手机用户可以通过点击这些通知,进入到对应的USB耳机音效和耳机线的键控功能设置。
手机播放声音时,手机状态栏下拉一般都会显示“USB声卡输出声音”的字样,供手机用户进行直观的判断、以及进行进一步的声音效果设置。
展示效果如下图所示:
在Android手机的设置界面中,通常在【开发者选项】中才具有对USB数字音频耳机的启用/禁用的开关控制入口(USB模拟耳机的手机没有开关,默认都是开启状态)。
若用户想禁用USB数字音频耳机的输出和使用,可以进入开发者选项中,对该开关项进行关闭操作,此开关项默认为不开启(即默认允许进行USB音频转换)。
在这种情况下,插入USB数字音频耳机,可以正常的像使用3.5mm线控耳机一样对手机的声音播放、麦克风语音录入、电话通话的声音和接听/挂断事件进行操作。
Android版本对USB Type-C数字耳机的支持
Android3.1开始支持USB Audio设备,中国大陆市场最早普及性最广的一版手机是三星的S9100,它是Android4.1。现在市面上的手机最低基本都是Android7或Android9。因此,为Android手机选配USB数字耳机这个做法,没有丝毫问题。
具体type-c转3.5mm耳机转换头的模拟耳机和数字耳机的接线方式,可以参考《一文读懂TypeC 耳机原理》https://blog.csdn.net/weixin_54608520/article/details/138068390 这位哥哥的文章,他写得比我更好更详细。
总结
我们通过市面上的京东淘宝拼多多中零售的各种音频线和USB数字音频线及转换器进行简单的选型和试用,从普通正常手机用户的角度,分析和评价各种3C配件的质量优劣和使用用法上的习惯和差异。
经过上述的配件产品的试用和体验,能够感知当前真实世界中,对《手机实时提取SIM卡打电话的信令和声音》这个课题之外的普通用户的认知和操作水平,形成使用方式的保底型方案(最差最麻烦也只会是这个样子)。
另外,从真实用户的角度来体验产品,也可以从另一个不同的角度来思考和分析确认看看不同的手机品牌和型号是否在这种用法上对打电话能力进行约束,有助于我们构思和建造一个更加通用、受到限制更少的数据和声音的获取办法。