我已经从Google Play安装了Alsamixer。
Gadget是三星Galaxy S3。
它有一个声卡(索引为0)和4个设备(0-3)。
设备列表(来自/proc/asound/devices
)如下:
0: [ 0] : control
16: [ 0- 0]: digital audio playback
17: [ 0- 1]: digital audio playback
18: [ 0- 2]: digital audio playback
19: [ 0- 3]: digital audio playback
24: [ 0- 0]: digital audio capture
25: [ 0- 1]: digital audio capture
26: [ 0- 2]: digital audio capture
27: [ 0- 3]: digital audio capture
33: : timer
所以来自/dev/snd
的pcms列表是
crwxrwxrwx system audio 116, 0 2014-01-16 12:56 controlC0
crwxrwxrwx system audio 116, 24 2014-01-16 12:56 pcmC0D0c
crwxrwxrwx system audio 116, 16 2014-01-16 12:56 pcmC0D0p
crwxrwxrwx system audio 116, 25 2014-01-16 12:56 pcmC0D1c
crwxrwxrwx system audio 116, 17 2014-01-16 12:56 pcmC0D1p
crwxrwxrwx system audio 116, 26 2014-01-16 12:56 pcmC0D2c
crwxrwxrwx system audio 116, 18 2014-01-16 12:56 pcmC0D2p
crwxrwxrwx system audio 116, 27 2014-01-16 12:56 pcmC0D3c
crwxrwxrwx system audio 116, 19 2014-01-16 12:56 pcmC0D3p
crwxrwxrwx system audio 116, 33 2014-01-16 12:56 timer
alsa_aplay
可以播放声音,但是当我尝试录制它时,只会记录噪音或空虚。
通过实验我发现声音只能用第3个设备“记录”,所以通话是:
alsa_aplay -C -D hw:0,3 -r 44100 -f S16_LE -c 1 -d 2 /foo.wav
当指定hw:0,1
或其他时,我得到“pcm_read:读取错误:无效参数”。
我们尝试了不同的采样率和其他参数。
当我尝试使用C代码(jni)进行录制时,会发生同样的事情。
对于设备0-2,它有运行时错误。
设备3在pcm_read
功能中无限记录空虚。
我们使用tinyalsa。
此外,我尝试从Alsamixer
应用列表中管理设备,我将其中的大部分设置为100%(不知道哪个留在录制器中,所以设置全部)但没有效果。
感谢您的回复。