alsa框架介绍-音频通路

alsa框架介绍-音频通路

ID:14887896

大小:403.50 KB

页数:19页

时间:2018-07-30

alsa框架介绍-音频通路_第1页
alsa框架介绍-音频通路_第2页
alsa框架介绍-音频通路_第3页
alsa框架介绍-音频通路_第4页
alsa框架介绍-音频通路_第5页
资源描述:

《alsa框架介绍-音频通路》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、手机事业部ALSA框架介绍——音频通路陈金泉2011-3-3内容:1、简单介绍android音频状态与音频通路、codec。2、通过ALSA的controls控制codec实现通路切换。2.1、control2.2、widget2.3、audio_map2.4、通路切换2.5、alsa_amixer本文档为瑞芯微电子手机事业部成员撰写及提供,不得用于工作之外的使用及交流。19手机事业部1、简单介绍android音频状态与音频通路、codec、声卡注册1.1、android音频状态与音频通路Andro

2、id的音频通路管理主要是在AudioPolicyManager中完成的,包括音量管理,音频策略(strategy)管理,输入输出设备管理。Android音频模式状态图:Android的音频模式状态包括:NORMAL、IN_CALL、RINGTONE。AudioPolicyManager的mPhoneState成员变量记录了当前音频模式状态,在音频通路切换时的设备选择时会使用到。在这3种音频模式状态下一共有10种音频数据流,定义如下:VOICE_CALL=0,SYSTEM=1,RING=2,MUSIC

3、=3,ALARM=4,NOTIFICATION=5,BLUETOOTH_SCO=6,本文档为瑞芯微电子手机事业部成员撰写及提供,不得用于工作之外的使用及交流。19手机事业部ENFORCED_AUDIBLE=7,DTMF=8,TTS=9, Android把10种streamtype归纳为4种路由策略,getStrategy(stream_type)根据stream_type,返回对应的routing_strategy值,也就是返回stream_type对应的路由策略。AudioPolicyManage

4、r中有两个成员变量:mAvailableOutputDevices和mAvailableInputDevices,他们记录了当前可用的输入和输出设备。getDeviceForStrategy()则结合routing_strategy、mPhoneState以及mAvailableOutputDevices或mAvailableInputDevices,返回可用的device。所以android设置音频通路时会先根据getStrategy(stream_type)和getDeviceForStrate

5、gy()函数获取相应的输出、输入设备,然后通过setOutputDevice(mHardwareOutput, newDevice)函数调用到alsa_default.cpp中的s_route、s_open函数控制到底层。s_open函数用会调用deviceName(handle,devices,mode),这个函数会根据Devices的值来组合成字符串。然后通过snd_pcm_open获取asound.conf中相应的pcm配置里面的controls,并对调用到codec驱动当中对codec进行配

6、置。本文档为瑞芯微电子手机事业部成员撰写及提供,不得用于工作之外的使用及交流。19手机事业部例子:Music(NORMAL)->STRATEGY_MEDIA->DEVICE_OUT_WIRED_HEADSET->AndroidPlayback_Headset_normalRing(RINGTONE)->SONIFICATION->DEVICE_OUT_SPEAKER和DEVICE_OUT_WIRED_HEADSET->AndroidPlayback_Speaker_Headset_ringtone本

7、文档为瑞芯微电子手机事业部成员撰写及提供,不得用于工作之外的使用及交流。19手机事业部1.2、codecCodec中文译名是编译码器,由英文编码器(coder)和译码器(decoder)两词的词头组成的缩略语。指的是数字通信中具有编码、译码功能的器件。Wm8900芯片内部框图:Wm8900内部包括有:ADC、DAC、OutputMixer、InputMixer、InputPGA、LINEOUT2、HPOUT等音频输入口:INPUT1、INPUT2、INPUT3、I2S_DAC音频输入口:HPOUT、

8、LINEOUT1、LINEOUT2、I2S_ADCCodec输入输出选择、音量控制、各个部分的power会都会通过control、widgets注册到不同的list中供ALSA和用户使用。本文档为瑞芯微电子手机事业部成员撰写及提供,不得用于工作之外的使用及交流。19手机事业部2、通过ALSA的controls控制codec实现通路切换。2.1、controlCodec中会把一部分功能的设置信息,以control的形式通过snd_soc_add_controls函数添加

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。