Android CarAudioService

一、CarAudioService相关类

1、CarAudioService

CarAudioService是Android Automotive OS系统中提供的一个服务,类似于AudioService,它管理整个车载音频系统,包括音频路由控制、音频设备管理、音量控制、焦点管理、车载媒体播放管理等。CarAudioService提供了对车辆音频系统功能和状态的控制,为车载音频应用提供便利,并支持多个应用程序同时执行音频任务。

CarAudioService代码位于:

packages/services/Car/service/src/com/android/car/audio/audioCarAudioService.java

CarAudioService的定义:

public class CarAudioService extends ICarAudio.Stub implements CarServiceBase {}

二、CarAudioService方法

CarAudioManager通过ICarAudio.aidl的方式与CarAudioService通信,如下为ICarAudio.aidl中定义的方法:

  • void setGroupVolume(int zoneId, int groupId, int index, int flags):设置组音量

  • int getGroupMaxVolume(int zoneId, int groupId):获取组音量最大值

  • int getGroupMinVolume(int zoneId, int groupId):获取组音量最小值

  • void setVolumeGroupMute(int zoneId, int groupId, boolean mute, int flags):设置组音量静音

  • int getGroupVolume(int zoneId, int groupId):获取组音量

  • void setFadeTowardFront(float value):设置声音前后平衡

  • void setBalanceTowardRight(float value):设置声音左右平衡

  • String[] getExternalSources():获取当前系统支持的外部音源

  • CarAudioPatchHandle createAudioPatch(in String sourceAddress, int usage, int gainInMillibels):创建Audio Patch

  • void releaseAudioPatch(in CarAudioPatchHandle patch):释放Audio Patch

  • int getVolumeGroupCount(int zoneId):获取音量组数量

  • int getVolumeGroupIdForUsage(int zoneId, int usage):获取Volume组ID

  • int[] getUsagesForVolumeGroupId(int zoneId, int groupId):获取声音组ID

  • int[] getAudioZoneIds():获取所有AZID

  • int getZoneIdForUid(int uid):通过Uid获取AZID

  • boolean setZoneIdForUid(int zoneId, int uid):通过UI设置AZID

  • boolean clearZoneIdForUid(int uid):通过UID清除AZID

  • void registerVolumeCallback(@NonNull IBinder binder):注册Volume回调

  • void unregisterVolumeCallback(@NonNull IBinder binder):解除注册Volume回调

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值