android录音软件github,Android音频底层调试

android录⾳软件github,Android⾳频底层调试
由于Android中默认并没有使⽤标准alsa,⽽是使⽤的是tinyalsa,所以就算基于命令⾏的测试也要使⽤libtinyalsa。Android系统在上层Audio千变万化的时候,可以能这些个⼯具实时查看到,⽐如⾳频通道的切换等等.
1.编译tinyalsa配套⼯具
太阳影子定位$ mmm external/tinyalsa/
编译完后会产⽣tinyplay/tinymix/tinycap等等⼯具。
tinymix: 查看配置混⾳器
tinyplay: 播放⾳频
tinycap: 录⾳
2.查看当前系统的声卡
root@android:/# cat /proc/asound/cards
表贴式永磁同步电机
0[RKRK616        ]: RK_RK616 - RK_RK616
RK_RK616
1[ROCKCHIPSPDIF  ]: ROCKCHIP-SPDIF - ROCKCHIP-SPDIF
ROCKCHIP-SPDIF
root@android:/ #
3.tinymix查看混响器
tinymix使⽤⽅法a.不加任何参数-显⽰当前配置情况b.tinymix [ctrl id] [var]不加[var]可以查看该[ctrl id]可选选项。
root@android:/# tinymix
Number of controls: 7
ctl type    num name                                    value
0ENUM1Playback Path                            OFF
1ENUM1Capture MIC Path                        MIC OFF
2ENUM1Voice Call Path                          OFF
3ENUM1Voip Path                                OFF
4INT2Speaker Playback Volume00
5INT2Headphone Playback Volume00
6ENUM1Modem Input Enable                      ON
root@android:/ #
对应解释:
英⽂
赵兰兴
中⽂
备注
Playback Path
⾳频输出通道
Capture MIC Path
⾳频输⼊通道
Voice Call Pah
通话⾳频通道
设备没有通话模块,暂⽆法测试
Voip Pah
IP电话⾳频通道
场景Gtalk;值有:SPK/HP_NO_MIC/BT Speaker Playback Volume
扬声器⾳量
和上层⾳量值⽆关
Headphone Playback Volume
铜锌合金⽿机⾳量
同上
Modem Input Enable
暂不知何⽤
经测试不能控制⾳频输⼊输出Playback Path有:
英⽂
中⽂
备注
OFF
关闭
RCV
SPK
扬声器
常⽤
HP
⽿机带麦
HP_NO_MIC
⽿机⽆麦
常⽤
BT
蓝⽛
SPK_HP
RING_SPK
RING_HP
RING_HP_NO_MIC
偏振子
RING_SPK_HP
例:将输出切换到扬声器汇聚路由器
root@android:/ # tinymix 0 SPK
关于tinymix⼩结:
通过观察发现,Android系统的声⾳⾳量的调节并没有直接使⽤tinyalsa,⽽基于上层软件实现,因为⽆论上层⾳量怎么改变,这⾥看到的都是24(以我采⽤的设备为例)。通道的切换是真正使⽤了tinyalsa,当通过不同通道播放⾳乐的时候可以实时观察到通道的切换。在某个⽹站上看到Android在没有声⾳播放的3秒后会关于alsa,这⾥也得到了证实,我以前认为Android系统会永久占⽤⾳频设备。
当通过蓝⽛播放⾳乐的时候,已经不经过alsa了。tinymix查看得都处理关闭状态,因为Android4.2的蓝⽛协议全部在⽤户层实现了,直接⾛uart通道。这样的设计⽅式⼀时半会不能理解。
4.使⽤tinyplay播放wav⾳乐
这个只是⼀个最基本的播放器,所以不⽀持播放MP3等等压缩过格式的⾳乐。没有学会使⽤前,⽹上都说很⿇烦,但是现在看来⼀点也不⿇烦,直接播放了44.1kHz/44.8kHz的wav⾳乐。
root@android:/# tinyplay /sdcard/0_16.wav
Playing sample: 2ch,44100hz,16bit
root@android:/ #
注:播放之前得⾸先使⽤tinymix把通道设置好,上⽂中已经给出了设置到扬声器中的例⼦;由于播放时使⽤的最⼤⾳量进⾏播放的,所以注意防⽌被吓到。这⾥将测试⾳频⽂件上传。
5.tinycap使⽤
root@android:/ # tinycap /sdcard/test.wav
可以进⾏录⾳。
⽬前只遇到这些,就先总结到这,可以随时再深⼊。
20141014更新:
1.原来tinyalsa最原始的源码在这⾥tinyalsa_github。
2.⾃⼰fork⼀份,添加静态编译⽅法以及busybox⽅式的将tinymix/tinyplay/tinycap/tinypcminfo集成⼀个tinyalsa。
tinyalsa-utils 包含了tinymix/tinyplay/tinycap/tinypcminfo使⽤⽅法是tinyalsa +⼯具名。⽐如要运⾏tinymix,那么就执⾏tinyalsa mix或者tinyalsa tinymix
root@android:/ # tinyalsa mix
Mixer name: 'RK_RK616'
Number of controls: 7
ctl type num name                                    value
0 ENUM 1 Playback Path                            OFF
1 ENUM 1 Capture MIC Path                        Main Mic
2 ENUM 1 Voice Call Path                          OFF
3 ENUM 1 Voip Path                                OFF
4 INT 2 Speaker Playback Volume                  0 0
5 INT 2 Headphone Playback Volume                0 0
6 ENUM 1 Modem Input Enable                      ON
root@android:/ #
3.根据这个[PATCH] tinyalsa: new package信息显⽰,以后tinyalsa也会被集成进busybox中。
4.如果出现Failed to open mixer错误,代表你的Android设备不是alsa⾳频驱动,⽽是legacy OSS device。
其它被证实为假的假设:
1.需要改写让系统不启动android相关的服务(mediaserver)
2.需要通过其它途径获取tinyalsa.

本文发布于:2024-09-21 13:30:25,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/134470.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:没有   通道   查看   系统   播放   证实   需要   不能
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议