audio_device模块分析

Posted jzssuanfa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了audio_device模块分析相关的知识,希望对你有一定的参考价值。

1. 对外接口
     AudioDeviceModule, 採音放音接口,音量控制,静音控制等
     
2. 主要类
     AudioDeviceModuleImpl, 对外提供的主要实现类,硬件实现主要调用AudioDeviceGeneric,管理AudioDeviceGeneric。AudioDeviceBuffer和AudioDeviceUtility
     AudioDeviceGeneric, 硬件接口类,採音和放音、音量控制等等, 被不同的系统实现集成
     AudioDeviceLinuxALSA, 继承AudioDeviceGeneric类。 主要调用AudioMixerManagerLinuxALSA(linux下alsa声卡驱动封装类)
     AudioDeviceLinuxPulse, 继承AudioDeviceGeneric类, 主要调用AudioMixerManagerLinuxPulse(linux下pulse声卡驱动封装类)
     AudioDeviceMac, 继承AudioDeviceGeneric类, 主要调用AudioMixerManagerMac(max下声卡驱动封装类)
     AudioDeviceWindowsCore/AudioDeviceWindowsWave, 继承AudioDeviceGeneric, windows下的两套实现类
     AudioDeviceios, 继承AudioDeviceGeneric类。 iOS下的实现类   
     OpenSlesInput, OpenSlesOutput, android下的opensles的实现封装类
     AudioRecordJni, AudioTrackJni, android下的JNI实现类,放音和採集动作有JAVA层实现
     AudioDeviceTemplate, 模板类,继承AudioDeviceGeneric类。用于採集和放音分开的类
     AudioDeviceBuffer, 保存和Device的交互的音频数据
3. 主要功能
     对各个系统平台的声卡驱动的封装和处理接口

以上是关于audio_device模块分析的主要内容,如果未能解决你的问题,请参考以下文章

未找到模块“device_info”

nRF51822 配对之device_manager_init 调用,以及保证 用户数据存储 的Flash 操作不与device manager 模块冲突

Device Tree:代码分析

使用argparse模块 进行device-agnostic设备未知时的编码

将模块的 PHP 代码拆分为单独的包含文件

流分析查询以从设备数据中获取 EnqueuedTime device_id