最近在调试安卓系统的alsa驱动,一开始搞不清楚tinymix要怎么用,今天终于搞清楚了,其实也很简单:
先打tinymix,首先系统要有安装好,如果没有的话,需要编译android/external/tinyalsa目录,就会生成1个so和4个可执行文件。
现在重点记录怎样用tinymix,
-
# tinymix -
Mixer name: 'audiocodec' -
Number of controls: 12 -
ctl type num name value -
0 INT 1 MIC1_G boost stage output mixer control 3 -
1 INT 1 MIC2_G boost stage output mixer control 3 -
2 INT 1 LINEIN_G boost stage output mixer control 3 -
3 INT 1 MIC1 boost AMP gain control 4 -
4 INT 1 MIC2 boost AMP gain control 4 -
5 INT 1 Lineout volume control 31 -
6 INT 1 ADC input gain ctrl 3 -
7 BOOL 1 Audio linein in On -
8 BOOL 1 Audio lineout Off -
9 BOOL 1 Audio adda drc Off -
10 BOOL 1 Audio adda loop Off -
11 ENUM 1 audio capture mode linein
在终端输入tinymix,就会显示这个表
那么它里面的内容是什么意思呢?
首先我们要知道,一个mixer通常有多个controler,像这个,里面有12个,然后就分别列出每一个controller的信息
首先看第一个:它的编号为0,类型是int型,它目前的值是3,它是用来控制mic1的放大倍数的
同理,第二个也是控制mic2的放大倍数
然后看第7个是一个bool型,也就是只有开关,
那么我如果像改变某一项的时候,要怎么设置呢?
方法是:
-
# tinymix 7 -
Audio linein in: On
这样在后面跟上控制器的编号,就会把控制器的当前状态显示出来,如果想改变它,就输入:
-
# tinymix 7 0 -
root@dolphin-fvd-p1:/ # tinymix 7 -
Audio linein in: Off
这样就通过命令设置过去了
然后看最后一个是enum类型的,那么问题来了,我不知道enum的名字,改如何设置呢,其实它有提示:
-
# tinymix 11 -
audio capture mode: main mic mic1_2 >linein
它会列出所有模式,然后当前的模式前面会有一个小箭头标记
然后如果要改变就这样操作:
-
root@dolphin-fvd-p1:/ # tinymix 11 "main mic" -
root@dolphin-fvd-p1:/ # tinymix 11 -
audio capture mode: >main mic mic1_2 linein
补充一下:
通常只是codec有很多的controler,hdmi和spdif的控制器分布只有一个,要设置别的卡要加上-D参数
-
root@dolphin-fvd-p1:/ # tinymix -D 1 这个是HDMI通道 -
Mixer name: 'sndhdmi' -
Number of controls: 1 -
ctl type num name value -
0 ENUM 1 hdmi audio format Function pcm -
root@dolphin-fvd-p1:/ # tinymix -D 2 这个是spdif通道 -
Mixer name: 'sndspdif' -
Number of controls: 1 -
ctl type num name value -
0 ENUM 1 spdif audio format Function pcm -
-
-
root@dolphin-fvd-p1:/ # tinymix -D 2 0 查看一下有哪些格式可以设置 -
spdif audio format Function: null >pcm DTS -
-
root@dolphin-fvd-p1:/ # tinymix -D 1 0 查看可以设置的格式 -
hdmi audio format Function: null >pcm AC3 MPEG1 MP3 MPEG2 AAC DTS ATRAC ONE_BIT_AUDIO DOLBY_DIGITAL_PLUS DTS_HD MAT WMAPRO
实例:
# tinymix -D 1 Mixer name: 'imxnull-audio' Number of controls: 28 ctl type num name value 0 INT 2 PCM Playback Volume 155 155 1 INT 2 Capture Volume 14 14 2 INT 1 Capture Attenuate Switch (-6dB) 0 3 BOOL 1 Capture ZC Switch On 4 INT 2 Headphone Playback Volume 103 103 5 BOOL 1 Headphone Playback ZC Switch On 6 INT 1 Mic Volume 1 7 BOOL 1 Bass Enable Off 8 INT 1 Bass Filter Feq 1 9 INT 1 Bass Volume 58 10 INT 1 Bass Level 96 11 INT 1 Surround Width 4 12 INT 1 Main Channel Volume 100 13 INT 1 Mixer Channel Volume 0 14 BOOL 1 AVC Enable Off 15 BOOL 1 AVC Hard Limit Off 16 INT 1 AVC Max Gain 1 17 INT 1 AVC Threshold (-dB) 12 18 BOOL 1 DAP_MIXER Mixer Channel Off 19 ENUM 1 I2S_OUT ADC 20 ENUM 1 DAC_IN I2S_IN 21 ENUM 1 MIX_MUX ADC 22 ENUM 1 DAP_IN ADC 23 ENUM 1 Headphone Mux DAC 24 ENUM 1 Capture Mux MIC_IN 25 ENUM 1 Jack Function on 26 ENUM 1 Speaker Function off 27 ENUM 1 Line In Function off
# tinymix -D 1 6 0 |