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

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

2023年7月6日发(作者:)

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/cards0[RKRK616 ]: RK_RK616 - RK_RK616RK_RK6161[ROCKCHIPSPDIF ]: ROCKCHIP-SPDIF - ROCKCHIP-SPDIFROCKCHIP-SPDIFroot@android:/ #x查看混响器tinymix使⽤⽅法a.不加任何参数-显⽰当前配置情况x [ctrl id] [var]不加[var]可以查看该[ctrl id]可选选项。root@android:/# tinymixNumber of controls: 7ctl type num name value0ENUM1Playback Path OFF1ENUM1Capture MIC Path MIC OFF2ENUM1Voice Call Path OFF3ENUM1Voip Path OFF4INT2Speaker Playback Volume005INT2Headphone Playback Volume006ENUM1Modem Input Enable ONroot@android:/ #对应解释:英⽂中⽂备注Playback Path⾳频输出通道Capture MIC Path⾳频输⼊通道Voice Call Pah通话⾳频通道设备没有通话模块,暂⽆法测试Voip PahIP电话⾳频通道场景Gtalk;值有:SPK/HP_NO_MIC/BTSpeaker 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_ying sample: 2ch,44100hz,16bitroot@android:/ #注:播放之前得⾸先使⽤tinymix把通道设置好,上⽂中已经给出了设置到扬声器中的例⼦;由于播放时使⽤的最⼤⾳量进⾏播放的,所以注意防⽌被吓到。这⾥将测试⾳频⽂件上传。p使⽤root@android:/ # tinycap /sdcard/可以进⾏录⾳。⽬前只遇到这些,就先总结到这,可以随时再深⼊。20141014更新:1.原来tinyalsa最原始的源码在这⾥tinyalsa_github。2.⾃⼰fork⼀份,添加静态编译⽅法以及busybox⽅式的将tinymix/tinyplay/tinycap/tinypcminfo集成⼀个tinyalsa。tinyalsa-utils 包含了tinymix/tinyplay/tinycap/tinypcminfo使⽤⽅法是tinyalsa +⼯具名。⽐如要运⾏tinymix,那么就执⾏tinyalsa mix或者tinyalsa tinymixroot@android:/ # tinyalsa mixMixer name: 'RK_RK616'Number of controls: 7ctl type num name value0 ENUM 1 Playback Path OFF1 ENUM 1 Capture MIC Path Main Mic2 ENUM 1 Voice Call Path OFF3 ENUM 1 Voip Path OFF4 INT 2 Speaker Playback Volume 0 05 INT 2 Headphone Playback Volume 0 06 ENUM 1 Modem Input Enable ONroot@android:/ #3.根据这个[PATCH] tinyalsa: new package信息显⽰,以后tinyalsa也会被集成进busybox中。4.如果出现Failed to open mixer错误,代表你的Android设备不是alsa⾳频驱动,⽽是legacy OSS device。其它被证实为假的假设:1.需要改写让系统不启动android相关的服务(mediaserver)2.需要通过其它途径获取tinyalsa.

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688592626a153138.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信