[发明专利]一种安卓兼容环境的音频输出优化方法有效
申请号: | 202210792239.1 | 申请日: | 2022-07-07 |
公开(公告)号: | CN114879930B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 温研 | 申请(专利权)人: | 北京麟卓信息科技有限公司 |
主分类号: | G06F3/16 | 分类号: | G06F3/16;G06F16/2455 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市海淀区西*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 兼容 环境 音频 输出 优化 方法 | ||
1.一种安卓兼容环境的音频输出优化方法,其特征在于,包括以下步骤:
安卓应用播放音频时,构建包含安卓应用的进程ID及线程ID的 AudioFlinger服务实例名称,向安卓兼容环境发送包含AudioFlinger服务实例名称的AudioFlinger服务注册请求;
监测AudioFlinger服务注册请求,若其中的AudioFlinger服务实例名称未包含进程ID及线程ID,则令进程ID及线程ID均为特定值,若AudioFlinger服务实例列表中存在具有相同进程ID及线程ID的服务实例则返回该服务实例;否则获取AudioFlinger服务实例,将设定的进程ID、线程ID及AudioFlinger服务实例添加到AudioFlinger服务实例列表中;若包含进程ID及线程ID,且AudioFlinger服务实例列表中存在具有相同进程ID及线程ID的服务实例则返回该服务实例,否则创建采用PulseAudio Client输出音频的AudioFlinger服务实例,将包含的进程ID、线程ID及AudioFlinger服务实例添加到AudioFlinger服务实例列表中;所述AudioFlinger服务实例列表用于保存进程ID及线程ID与AudioFlinger服务实例之间的映射关系;其中,所述AudioFlinger服务实例列表用于保存进程ID及线程ID与AudioFlinger服务实例之间的映射关系;
安卓应用创建AudioTrack时,根据AudioTrack的类型为新建的AudioTrack关联AudioFlinger服务实例,实现音频数据的输出;
所述安卓应用创建AudioTrack时,根据AudioTrack的类型为新建的AudioTrack关联AudioFlinger服务实例的过程为:若AudioTrack的类型为音乐声音AUDIO_STREAM_MUSIC,则根据进程ID及线程ID获取AudioFlinger服务实例,并将获取到的AudioFlinger服务实例关联到AudioTrack,实现音频数据的输出;否则获取安卓兼容环境中的AudioFlinger服务实例,再将获取到的AudioFlinger服务实例关联到AudioTrack。
2.根据权利要求1所述的音频输出优化方法,其特征在于,所述创建采用PulseAudioClient输出音频的AudioFlinger服务实例的过程为:启动新的AudioFlinger服务,并将进程ID及线程ID设置为该服务的成员变量;在创建Track时创建DirectOutputThread线程,且采用PulseAudio Client API实现音频设备打开和读写操作。
3.根据权利要求1所述的音频输出优化方法,其特征在于,所述AudioFlinger服务实例列表是类型为MapString, IAudioFlinger的列表,IAudioFlinger为IAudioFlinger接口实例,String为由进程ID及线程ID组成的字符串。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京麟卓信息科技有限公司,未经北京麟卓信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210792239.1/1.html,转载请声明来源钻瓜专利网。