Tinyalsa/ALSA用于Android调整。arecord只记录噪音或什么也不记录
我已经从Google Play安装了Alsamixer 这个小玩意是三星GalaxyS3 它有一个索引为0的声卡和4个设备0-3。 /proc/asound/devices中的设备列表如下所示:Tinyalsa/ALSA用于Android调整。arecord只记录噪音或什么也不记录,android,linux,audio,audio-recording,alsa,Android,Linux,Audio,Audio Recording,Alsa,我已经从Google Play安装了Alsamixer 这个小玩意是三星GalaxyS3 它有一个索引为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 au
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列表是
alsa_aplay可以播放声音,但当我尝试录制时,它只录制噪音或空白。
通过实验,我发现只有使用第三方设备才能“录制”声音,因此通话是:
alsa_aplay -C -D hw:0,3 -r 44100 -f S16_LE -c 1 -d 2 /foo.wav
当指定hw:0,1或其他时,我得到pcm_read:read error:无效参数
我们尝试了不同的采样率和其他参数
当我尝试用C代码jni记录时,也会发生同样的事情
对于设备0-2,它有运行时错误。
当设备3处于pcm_读取功能时,它会无限记录空值
我们使用tinyalsa
此外,我还尝试从Alsamixer应用程序列表管理设备,我已将大多数设备设置为100%不知道哪些设备保留在录制器中,因此设置为“全部”,但不生效
感谢您的回复。您的问题是什么?如何使设备正常工作并录制声音?我需要做哪些调整,以及检查哪些事项?使用与三星相同的设备和配置。你需要知道各种芯片的连接方式。三星不太可能发布此信息。@degot:我所说的音频路径是指需要启用/配置硬件编解码器中的所有必要块需要选择正确的ADC,需要设置增益值等。这通常通过写入一组ALSA控件来完成,但是这些控件在不同的平台上是不一样的,所以您需要熟悉所针对的特定平台。通常,您可以在平台供应商提供的ALSA SoC驱动程序和硬件编解码器文档中找到有用的信息,这些文档可能仅适用于合作伙伴公司。
alsa_aplay -C -D hw:0,3 -r 44100 -f S16_LE -c 1 -d 2 /foo.wav