首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的。教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈~我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转到教程
1. 配置文件
总共有三个配置文件:
1) /system/usr/share/alsa/alsa.conf :它指定了另外两个配置文件的路径
2) /etc/asound.conf
3) .asoundrc
可通过cat /proc/asound/cards查看当前系统有哪些声卡。
2. 第一步
cd到Android源码树根目录下:
cd /home/xxx/android/Android-2.0
从Android主页下载ALSA声卡的相关源码:
git clone git://android.git.kernel.org/platform/external/alsa-lib.git
git clone git://android.git.kernel.org/platform/external/alsa-utils.git
git clone git://android.git.kernel.org/platform/hardware/alsa_sound.git
这样下载完之后的各个包将会自动放到合适的地方。
3. 第二步
修改自己板子的BoardConfig.mk,使板子使用ALSA声卡,如下:
#HAVE_HTC_AUDIO_DRIVER := true
#BOARD_USES_GENERIC_AUDIO := true
BOARD_USES_ALSA_AUDIO := true
BUILD_WITH_ALSA_UTILS := true
如果是使用我们提供的Android-2.0那么这个BoardConfig.mk应该位于Android-2.0/build/target/board/generic
4. 第三步
重新编译Android
5. 第四步
在制作出来的根文件系统中添加/system/etc/asound.conf脚本配置声卡的工作参数,内容如下:
# #
# # Mixer devices
# #
ctl.AndroidPlayback {
type hw
card 0 # Can replace with drivers name from /proc/asound/cards
}
ctl.AndroidRecord {
type hw
card 0 #如果有多个Mic,可以指定一个Mic,则使用snd_pcm_open(.., "default",..)打开设备时,
#则只打开此设备,否则会从所有Mic进行录音
}
# #
# # Playback devices
# #
pcm.AndroidPlayback {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Speaker {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Speaker_normal {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Speaker_ringtone {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Speaker_incall {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Earpiece {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Earpiece_normal {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Earpiece_ringtone {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Earpiece_incall {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Bluetooth {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Bluetooth_normal {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Bluetooth_ringtone {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Bluetooth_incall {
type hw
card 0
device 0
}
pcm.AndroidPlayback_Headset {
type hw