Android音频子系统(十三)------audio音频测试工具

你好!这里是风筝的博客,
欢迎和我一起交流。

测试音频延时的话,一般使用WALT来测试是最为准确的,他是借助了外部硬件来捕获音频信号,某宝上有卖:
Android音频子系统(十三)------audio音频测试工具_第1张图片
就是有丢丢小贵,本打工人还是想想白嫖的法子…

谷歌有cts测试工具:CtsVerifier.apk,专门做兼容性测试的,其中里面有关于audio的测试。
Android音频子系统(十三)------audio音频测试工具_第2张图片
Cts工具下载链接:https://source.android.com/docs/compatibility/cts/downloads?hl=zh-cn

不过CtsVerifier.apk不是专门的audio的工具,最近发现一个工具挺好用的,专门测试audio的。
在google商店可以下载:OboeTster。

Oboe是一个C ++库,可以轻松在Android上构建高性能音频应用程序。它主要是为了允许开发人员针对简化的API,该API跨多个API级别回到API级别16(Jelly Bean)
下载地址:https://apkpure.com/tw/oboetester/com.mobileer.oboetester/download

打开APK,主要有几个测试项可用:
Android音频子系统(十三)------audio音频测试工具_第3张图片

  • TEST OUTPUT:测试播放
  • TEST INPUT:测试录音
  • TAP TO TONE Latency:测试播放延时
  • ROUND TRIP Latency:测试播放+录音往返延时
  • ECHO INPUT TO OUTPUT:回音测试
  • RECORD AND PLAY:录音然后播放
  • GLITCH TEST:故障测试
  • AUTO GLITCH TEST:自动故障测试
  • TEST DISCONNECT:断开测试?
  • DEVICE REPORT:设备信息
  • DATA PATHS:数据通路
  • EXTRAS TEST:额外的测试

每个TEST项都有很详细的测试数据可以查看。
我主要关注两个测试项:TAP TO TONE Latency和ROUND TRIP Latency
两个都是测试latency,延时是音频很重要的一个指标,外放延时,数字耳机延时,模拟耳机延时,蓝牙耳机延时,非常影响用户的体验。

TAP TO TONE Latency

在TAP TO TONE Latency,测试点击屏幕播放到设备出声的这段时间延时:
Android音频子系统(十三)------audio音频测试工具_第4张图片
点击START之后即可测试,用指甲和指腹一起敲击屏幕下方绿色区域即可测试播放latency。
参数可以用默认参数,比如aaudio,这里我设备没有支持aaudio,MMAP也是灰色的。
播放latency避免泄漏我就不放了,开启aaudio之后外放能做到20ms的latency。
bufferSize下面的三个圆框属于period count,设置设置2.
既bufferSize = 256 * 2 = 512.

Device可以选择测试的设备,数字耳机、模拟耳机或者蓝牙耳机,speaker,都行。

ROUND TRIP Latency

在ROUND TRIP Latency,可以测试播放+录音往返延时。
Android音频子系统(十三)------audio音频测试工具_第5张图片
MEASURE是测量单次,AVERAGE是测量五次平均值。

这里input burst是128,output burst是256,bufferSize还是512.

latency主要看latency.msec即可,关于timestamp.latency,只是时间戳信息,可以不用关注。
倒是看到有人提了一个issues:Why the “latency.msec” is not equals to input’s “timestamp.latency” plus output’s “timestamp.latency” in “Round Trip Latency”

还有其他TEST项就不一一列举了,例如DEVICE REPORT:
我插入一款华为的数字耳机就有信息report
Android音频子系统(十三)------audio音频测试工具_第6张图片
可以看出这款华为数字耳机最高支持96K播放等等信息。

最后,GitHub上也可以找到这个oboe源码:https://github.com/google/oboe

你可能感兴趣的:(音频子系统,Android,android,音视频,oboe,walt,audio_latency)