Chinaunix

标题: Android 使用 ALSA [打印本页]

作者: kangjunping    时间: 2011-12-21 08:41
标题: Android 使用 ALSA
原文地址:http://blog.csdn.net/dycl3/archive/2010/03/11/5370563.aspx

   android 系统中带有了对alsa的支持,但在默认的情况下并不被下载和编译。可以
通过下面步骤在android中使用alsa.

1、 使用git 获取到下面三个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

2、 修改BoardConfig.mk文件加入
    BOARD_USES_ALSA_AUDIO := true
    BUILD_WITH_ALSA_UTILS := true
    然后编译上面的三个包。
3、在编译生成的system/etc/ 目录下放入alsa.conf 文件。
  其基本内容如下(其具体配置要根据使用的音频codec来定):
  ctl.AndroidPlayback {
    type hw
    card 0
}

ctl.AndroidCapture {
    type hw
    card 0
}

pcm.AndroidPlayback_Speaker_normal{
    type hooks
    slave.pcm {
    type hw
    card 0
    device 1
    }

    hooks.0 {
    type ctl_elems
    hook_args[
        {
            name='MONO Mixer DAC1 Switch'
            value=true
        }
        {
            name='MONO Mixer DAC2 Switch'
            value=true
        }
    ]
    }
}

4 错误排查
  要是善于利用alsa_amixer 和alsa_aplay  两个工具。





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2