Android音频子系统(十三)------audio音频测试工具
你好!这里是风筝的博客,
欢迎和我一起交流。
测试音频延时的话,一般使用WALT来测试是最为准确的,他是借助了外部硬件来捕获音频信号,某宝上有卖:
就是有丢丢小贵,本打工人还是想想白嫖的法子…
谷歌有cts测试工具:CtsVerifier.apk,专门做兼容性测试的,其中里面有关于audio的测试。
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,主要有几个测试项可用:
- 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,测试点击屏幕播放到设备出声的这段时间延时:
点击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,可以测试播放+录音往返延时。
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
可以看出这款华为数字耳机最高支持96K播放等等信息。
最后,GitHub上也可以找到这个oboe源码:https://github.com/google/oboe
Android音频子系统(十三)------audio音频测试工具相关推荐
- 2022年Android官方模拟器安装Xposed教程+测试工具PatDroid安装教程
碎碎念:截至笔者写此教程的2022.10.10,xposed官网貌似已经G了(?),网上有的教程已经过时,有的是针对奇怪的商用的Android模拟器的教程(以科研工作者的角度来说),在此环境下出一篇A ...
- android arp工具,Android内网攻击防御安全测试工具(开源)
想必经历过4M宽带小水管年代的小伙伴,大多都晓得P2P终结者这枚网管神器,它可以通过ARP协议的漏洞来达到限制同一路由器下其他电脑网速的目的. 如今移动互联网时代飞速发展,大家都用上了50M.甚至10 ...
- Linux音频子系统(2) - ALSA ASoC
1. linux音频子系统介绍 Linux音频系统比较复杂,各层间有很多交叉,可能是最无序的子系统. 1.1 ALSA ALSA 是 Advanced Linux Sound Architecture ...
- 正确选择合适的移动应用测试工具很重要
您知道吗,据Statista称,到 2025 年,智能手机用户数量将达到 182.2 亿?其实也不用惊讶,数字化转型正在飞速发展,并将继续如此.这给移动应用程序开发市场带来了各种选择,并引发了对最佳移 ...
- 如何选择合适的移动应用测试工具?
[内部资源] 想拿年薪30W+的软件测试人员,这份资料必须领取~ Python自动化测试全栈+性能测试全栈,挑战年薪40W+ 01 易于学习和使用 对于一款工具而言,如果它们学习难度或使用难度比较大, ...
- 整理了100个市面上常用的测试工具,希望能帮助到大家...
哈喽,我是二黑,这里赠送一份软件测试资料. 1.软件测试学习路线 2.软件测试视频资料 3.软件测试相关文档 4.软件测试相关工具.安装包 5.高级测试工程师简历模板 6.面试题.模拟面试.PDF文档 ...
- Android系统源码分析/多媒体框架/音频子系统/常用结构体分析-audio.h
audio_stream_type_t 定义音频流类型,主要是手机系统各类典型的音频流做出属性上的区分,举个例子:电话和媒体2种类型的音频不管从输出的设备(耳机.功放.还是蓝牙)都是存在明显的不同.把 ...
- Android音频子系统(十)------MTK Audio录音流程代码解析
你好!这里是风筝的博客, 欢迎和我一起交流. Android framework中的代码每个平台基本都是大同小异,只有Hal上代码才是厂商特制,每个平台都不相同,这里以MTK平台为例,记录下MTK平台 ...
- Android音频子系统(十二)------抖音直播功耗问题解析
你好!这里是风筝的博客, 欢迎和我一起交流. [前提条件] 移动卡纯5G,120HZ,最小亮度,最小音量,开启定位 [操作步骤] 1.从软件商店下载最新版本APK 2.进入抖音并登录账号,点击右上方的 ...
最新文章
- 简单剖析智能指针的思想
- linux重定向进程输出到文件删除,Linux文件编辑器vim输出输入重定向、管道以及进程(示例代码)...
- java 对象拷贝属性_使用Java对两个对象的属性进行拷贝
- android 百度开发论坛,Android 百度地图开发(一)
- mysql 主键倒序查询速度慢_一亿条数据order by主键降序速度很慢
- idea的英文是什么意思_idealisation是什么意思中文翻译
- 如何分析一个复杂系统
- mysql 根据状态输出_mysql show processlist 输出状态说明
- [debug] you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake ……
- Java中Set的使用
- scp拷贝服务器文件,scp 拷贝文件到远程服务器
- 【老生谈算法】matlab实现多元GARCH模型预测源码——GARCH模型
- 【老鸟进阶】deepfacelab错误人脸图片快速处理
- CC2430基础——定时器1试验
- 单片机管脚工作状态的解释
- 关于文件上传失败的问题
- 【学习OpenCV4】案例1:Windows OpenCV C++语言开发环境搭建
- 洛谷 P1361 小猫爬山
- Google Pay支付遇到的问题,妈妈再也不用担心我的面试
- 【可信计算】TPM核心功能