Android 使用tinyalsa测试音频

一、tinyalsa简介

​ Android 中并没有使用标准的 ALSA,而是使用一个 ALSA 的简化版叫做 tinyalsa。ALSA是Advanced Linux Sound Architecture,高级Linux声音架构的简称。它在Linux操作系统上提供了音频和MIDI(Musical Instrument Digital Interface,音乐设备数字化接口)的支持。Android 中使用 tinyalsa 控制管理多种模式的音频通路,我们也可以使用 tinyalsa 提供的四个工具tinymix、tinycap、tinyplay、tinypcminfo进行对音频的查看、调试。

二、tinyalsa 的编译

​ 前提:tinyalsa的源码位于Android源码的external/tinyalsa目录下,确保该目录有tinyalsa的完整源码

1.对tinyalsa进行编译
$mmm external/tinyalsa
2.查看编译信息是否编译成功,成功后会在out目录mk配置路径下生成例如system/bin/tinycap文件夹
3.将目录下生成的libtinyalsa.so文件和四个工具push到系统目录
adb push libtinyalsa.so /system/lib/
adb push tinymix /system/lib/
adb push tinyplay /system/lib/
adb push tinycap /system/lib/
adb push tinypcminfo /system/lib/
4.对工具赋权
adb root
adb remount
adb shell
cd system/lib
chmod 777 tinymix
chmod 777 tinycap
chmod 777 tinyplay
chmod 777 tinypcminfo
exit

​ 上述步骤全部完成后,使用 adb shell 进入系统后,执行工具相关的指令如果可以打印出相关的测试信息,说明工具生效成功。

三、工具功能介绍

1.tinymix

​ tinymix 可以得到音频通路相关的各项配置参数。也可以通过添加参数修改其中的配置

tinymix
2.tinyplay

​ tinyplay用于播放tinycap采集的pcm或wav格式录音,不能进行 MP3 等格式的编码,支持 44.1kHz,48kHz 采样率的wav 音乐,使用方法

tinyplay 文件储存目录/test.pcm -D 0 - d 0
3.tinycap

​ tinycap用于采集系统录音,可以通过指令设置不用采样率,不同采样深度,不同声道的录音,使用方法

tinycap 文件存储目录/test.pcm -D 0 -d 0 -c 4 -r 44100 -b 16 -p 512 -n 6
参数说明:D 声卡 d 当前声卡下的录音或放音设备 c 通道数 r 采样率 b 采样深度 -p 中断帧数 n 周期

​ 录音结束Ctrl+C

4.tinypcminfo

​ tinypcminfo 查看设备信息

tinypcminfo -D 0 -d 0
查看1号声卡的1号设备信息

四、测试工具

​ 推荐使用Adode Audition来测试音频,查看pcm原始音频时需要点击“文件”–“导入”–“原始数据”查看,选择的采样率,声道,编码需和命令行敲tinycap录音时一致

【Android 使用tinyalsa测试音频】相关推荐

  1. Android智能手机上的音频浅析

    手机可以说是现在人日常生活中最离不开的电子设备了.它自诞生以来,从模拟的发展到数字的,从1G发展到目前的4G以及不久将来的5G,从最初的只有唯一的功能(打电话)发展到目前的全功能,从功能机(featu ...

  2. Android 弱网测试(小米手机切换3g和2g)

    Android 弱网测试,目前主要的是4g 弱网的话我们可以使用3g和2g 对app 进行测试 现在以小米手机为例 我们测试不同网络下的加载情况 第一步 第二步 第三步: 然后我们就可以根据不同的网络 ...

  3. Android App压力测试(Monkey和ADB)

    压力测试简介 压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分.压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试.通常 ...

  4. Xamarin Android真机测试报错

    Xamarin Android真机测试报错 Xamarin Android真机测试报错,错误信息为INSTALL_CANCELLED_BY_USER.出现这个错误,通常都是真机上开发者选项设置错误.由 ...

  5. android monkey压力测试(二)

    一.什么是Monkey 顾名思义,Monkey就是猴子,  Monkey测试,就像一只猴子, 在电脑面前,乱敲键盘在测试.  猴子什么都不懂, 只知道乱敲 通过Monkey程序模拟用户触摸屏幕.滑动T ...

  6. android 蓝牙链接电脑,如何使从台式电脑到Android设备的测试蓝牙连接

    我正在使用具有蓝牙适配器的Ubuntu 11.10台式电脑和使用带有蓝牙的Android 2.2的Android平板电脑. (两款设备上的蓝牙版本应为2.0或2.1版本)如何使从台式电脑到Androi ...

  7. android 测试 大赛,轻量级android应用自动测试工具-2017全国大学生软件测试大赛.pdf...

    轻量级android应用自动测试工具-2017全国大学生软件测试大赛 DroidBot: A Lightweight Android App Testing Bot 轻量级Android应用自动测试工 ...

  8. Android Monkey压力测试

    一. JAVA环境的搭建 安装jdk-8u151-windows-x64,可以到官网或者应用中心下载. JAVA环境变量的搭建: 在"我的电脑"-"属性"-&q ...

  9. android之微信分享音频

    android之微信分享音频 代码: WXMusicObject muObj = new WXMusicObject(); muObj.musicUrl = "http://music.ba ...

最新文章

  1. es6箭头函数(=)与展开特性运算符(...)的使用
  2. 马斯克入选美国工程院院士,张宏江博士入选外籍院士
  3. python程序在命令行执行提示ModuleNotFoundError: No module named ‘XXX‘ 解决方法
  4. 【AGC+FPGA】基于FPGA的数字AGC自适应增益设计,应用在BPSK调制解调系统中
  5. 安卓10省电还是费电_iOS 13省电教程:关掉这8个功能iPhone多用3小时
  6. openGl学习之基本图元
  7. (原+转)ubuntu中删除文件夹
  8. [css] 请问触发hasLayout的后果是什么?
  9. 工作120:富文本组件封装
  10. PHP webshell
  11. 计算机组成原理—Cache写策略
  12. codeforces 733D
  13. OMS 订单管理系统
  14. Optisystem 光锁相环
  15. WinFR 界面版 - 免费好用的数据恢复软件,误删文件轻松找回
  16. ios14描述文件无法与服务器连接,苹果手机的信任在哪里设置(ios14描述文件与设备管理)...
  17. 剑指 Offer 24. 反转链表java
  18. 云里黑白21——win10 企业版更新系统后开始菜单左键点不出来
  19. linux网络编程(6)基于多进程的TCP服务器与客户端编程
  20. UC提速游戏战略:分成3亿追击腾讯

热门文章

  1. 频繁通过win32api的createfile函数打开文件句柄导致内存泄漏
  2. HTML防止input回车提交表单
  3. jQuery 删除HTML元素
  4. linux mailxdingding机器人报警
  5. 大华摄像头实现web端实时播放以及录像回放
  6. 钢铁表面缺陷检测图像数据集(1800张图像,voc标签)
  7. matlab语言帮助系统题目,西电 matlab语言考试题2009年
  8. HTTP与HTTPS是啥?
  9. 跳入餐饮新消费水池,腾讯、字节、B站能否“如鱼得水”?
  10. 51单片机:数码管(静态+动态)