Android 使用 ALSA

   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  两个工具。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dycl3/archive/2010/03/11/5370563.aspx

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android凭借其开源,良好的用户体验,高性价比,庞大的应用程序等优势迅速发展起来并保持强劲的发展势头。如今Android智能手机、Android平板电脑等移动产品已走入人们的日常生活,成为人们通讯、娱乐的重要工具。本设计以malata采用RK2918方案的Android平板电脑项目为背景,主要任务是设计和实现Android平板电脑的音频系统,为广大平板用户提供良好的音频体验。 ALSA(Advanced Linux Sound Architecture,高级Linux声音架构)在Linux操作系统上提供了音频和MIDI(Musical Instrument Digital Interface,音乐设备数字化接口)的支持。它的主要特性包括:高效地支持从消费类入门级声卡到专业级音频设备所有类型的音频接口,完全模块化的设计,支持对称多处理和线程安全,对OSS(Open Sound System,开放声音系统)的向后兼容,以及提供了用户空间的alsa-lib库来简化应用程序的开发[1]。基于ALSA的音频系统能够很好的适应硬件的多样性,因此Android设备厂商能够更灵活地根据不同需求选择不同的音频编解码芯片。ALC5625是一款高度集成低功耗高保真的带I2S/PCM接口并具有多路输入输出的音频编解码器,可满足本次设计的各项需求。 基于ALSA的Andorid音频系统拥有一个标准和健全的架构,自上而下由Audio应用程序、Audio Java框架层、Audio本地框架层、AudioFlinger、Audio硬件抽象层、alsa-lib和底层Audio驱动几个部分组成。本文分析音频系统架构的各个层次,并着重阐述ALSAAndroid音频系统中的应用以及Audio驱动的详细实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值