Android Audio开发——AudioFlinger接口(五)

        通过上一篇文章的介绍,我们了解了AudioFlinger 服务的启动流程。以及 AudioPolicyService 与 AudioFlinger 是 Android 音频系统的两大基本服务。前者是音频系统策略的制定者,负责音频设备切换的策略抉择、音量调节策略等;后者是音频系统策略的执行者,负责音频流设备的管理及音频流数据的处理传输,所以 AudioFlinger 也被认为是 Android 音频系统的中枢。

一、服务接口

1、IAudioFlinger.cpp

        IAudioFlinger.cpp 是 AudioFlinger 给上层提供的接口。AudioFlinger 服务启动后,其他进程可以通过 ServiceManager 来获取其代理对象 IAudioFlinger,通过 IAudioFlinger 可以向 AudioFlinger 发出各种服务请求,从而完成自己的音频业务。

源码位置:/frameworks/av/media/libaudioclient/IAudioFlinger.cpp

// 创建Track
virtual sp<IAudioTrack> createTrack(const CreateTrackInput& input, CreateTrackOutput& output, status_t *status){}

// 创建Record
virtual sp<media::IAudioRecord> createRecord(const CreateRecordInput& input,                                                CreateRecordOutput& output, status_t

猜你喜欢

转载自blog.csdn.net/c19344881x/article/details/130627575
今日推荐