ls /dev/snd 查看音頻設備
手動加載了驅動程序:
insmod /system/lib/modules/snd-hwdep.ko
insmod /system/lib/modules/snd-hwdep.ko
insmod /system/lib/modules/snd-rawmidi.ko
insmod /system/lib/modules/snd-rawmidi.ko
insmod /system/lib/modules/snd-usbmidi-lib.ko
insmod /system/lib/modules/snd-usbmidi-lib.ko
insmod /system/lib/modules/snd-usb-audio.ko
insmod /system/lib/modules/snd-usb-audio.ko
ls /dev/snd
controlC0
controlC1
pcmC0D0c
pcmC0D0p
pcmC1D0c
pcmC1D0p
timer
查看聲卡: cat /proc/asound/cards
配置文件: /etc/asond.conf
切換底層入口是alsa_default.cpp,需要在asound.conf定義好local CODEC和USB Audio的plug;還需要修改alsa_default.cpp,最主要Android要知道USB Audio插上時打開USB Audio的plug,USB Audio拔下時打開local CODEC的plug
設置命令
alsa_amixer cset numid=16,iface=MIXER,name='Speaker Playback Volume' 35
alsa_amixer cset numid=2,iface=MIXER,name='MIC1 Boost' 6
查看聲音是否正確設置:
alsa_amixer cget numid=2,iface=MIXER,name='MIC1 Boost'
alsa_amixer cget numid=16,iface=MIXER,name='Speaker Playback Volume'
service asound_conf /system/bin/alsa_ctl restore
oneshot