我开发了一个在嵌入式系统上使用 ALSA 驱动程序录制声音的小型应用程序。
现在我在选择要从 MIC/Line IN 录制的设备时遇到问题。
该应用程序设置为在系统启动时启动,但我的默认录音设备设置为 MIC。为了让我的应用程序正常工作,我必须去 amixer 并将录音设备从 MIC 设置为 Line IN,然后启动我的应用程序。
你们知道从应用程序或 amixer 命令更改此记录设备的方法吗,我可以将它放在脚本中并在启动时运行它。
我是否说过这个应用程序在嵌入式系统上运行,我需要一种在我的应用程序启动之前配置系统的方法。
EDIT1:
这是我的混合器输出:
root@freescale ~$ amixer
Simple mixer control 'Headphone',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 127
Front Left: 103 [81%]
Front Right: 103 [81%]
Simple mixer control 'Playback',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 192
Front Left: 192 [100%]
Front Right: 192 [100%]
Simple mixer control 'Capture',0
Capabilities: cvolume
Capture channels: Front Left - Front Right
Limits: Capture 0 - 15
Front Left: Capture 15 [100%]
Front Right: Capture 15 [100%]
Simple mixer control 'Capture Vol Reduction',0
Capabilities: enum
Items: 'No Change' 'Reduced by 6dB'
Item0: 'No Change'
Simple mixer control 'ADC Mux',0
Capabilities: enum
Items: 'MIC_IN' 'LINE_IN'
Item0: 'MIC_IN'
Simple mixer control 'DAC Mux',0
Capabilities: enum
Items: 'DAC' 'LINE_IN'
Item0: 'DAC'
Simple mixer control 'MIC GAIN',0
Capabilities: enum
Items: '0dB' '20dB' '30dB' '40dB'
Item0: '0dB'
非常感谢,加布里埃尔