HarmonyOS-鸿蒙app开发 —基于java音量管理开发指导

HarmonyOS-鸿蒙app开发 —基于java音量管理开发指导

场景介绍

音量管理的主要工作是音量调节,输入/输出设备管理,注册音频中断、音频采集中断的回调等。

接口说明

当前仅系统应用支持设置静音或响铃等模式。

表1 音量管理类AudioManager的主要接口

接口名

描述

AudioManager()

构造函数。

AudioManager​(Context context)

构造函数,由使用者指定应用上下文Context。

AudioManager(String packageName)

构造函数,由使用者指定包信息。

activateAudioInterrupt(AudioInterrupt interrupt)

激活音频中断状态检测。

deactivateAudioInterrupt(AudioInterrupt interrupt)

去激活音频中断状态检测。

getAudioParameter(String key)

获取音频硬件中指定参数keys所对应的参数值。

getDevices(DeviceFlag flag)

获取设备信息。

getMaxVolume(AudioVolumeType volumeType)

获取指定音频流音量最大档位。

getMinVolume(AudioVolumeType volumeType)

获取指定音频流音量最小档位。

getRingerMode()

获取铃声模式。

getVersion()

获取音频套件版本。

getVolume(AudioVolumeType volumeType)

获取指定音频流的音量档位。

isDeviceActive(int deviceType)

判断设备的开关状态。

isMute(AudioVolumeType volumeType)

特定的流是否处于静音状态。

mute(AudioVolumeType volumeType)

将特定流设置为静音状态。

setAudioParameter(String key, String value)

为音频硬件设置可变数量的参数值。

setDeviceActive(int deviceType, boolean state)

设置设备的开关状态。

setRingerMode(AudioRingMode mode)

设置铃声模式。

setVolume(AudioVolumeType volumeType, int volume)

设置特定流的音量档位。

unmute(AudioVolumeType volumeType)

将特定流设置为非静音状态。

setMasterMute(boolean isMute)

将主音频输出设备设置为静音或取消静音状态。

setMicrophoneMute(boolean isMute)

将麦克风设置为静音或取消静音状态。

isMicrophoneMute()

判断麦克风是否处于静音状态。

getActiveCapturerConfigs()

获取设备当前激活的音频采集任务的配置信息。

registerAudioCapturerCallback(AudioCapturerCallback cb)

注册音频采集参数变更回调。

unregisterAudioCapturerCallback​(AudioCapturerCallback cb)

去注册音频采集参数变更回调。

getRingerUri(Context context, RingToneType type)

获取指定铃声类型的Uri。

setRingerUri(Context context, RingToneType type, Uri uri)

设置指定铃声类型的Uri。

changeVolumeBy​(AudioVolumeType volumeType, int index)

将当前音量增加或减少一定量。

connectBluetoothSco​()

连接到蓝牙SCO通道。

disconnectBluetoothSco​()

断开与蓝牙SCO通道的连接。

getActiveRendererConfigs​()

获取有关活动音频流信息,包括使用类型、内容类型和标志。

getMasterOutputFrameCount​()

获取主输出设备缓冲区中的帧数。

getMasterOutputSampleRate​()

获取主输出设备的采样率。

isMasterMute​()

检查音频流是否全局静音。

isStreamActive​(AudioVolumeType volumeType)

检查指定类型的音频流是否处于活动状态。

makeSessionId​()

创建一个会话ID,AudioRendererInfo.Builder.sessionID(int)将使用该会话ID来设置音频播放参数,而AudioCapturerInfo.Builder.sessionID(int)将使用该会话ID来设置记录参数。

registerAudioRendererCallback​(AudioRendererCallback cb)

注册音频播放参数变更回调。

unregisterAudioRendererCallback​(AudioRendererCallback cb)

去注册音频播放参数变更回调。

开发步骤

音量管理提供的都是独立的功能,一般作为音频播放和音频采集的功能补充来使用。开发者根据具体使用场景选择方法即可。

音频中断状态检测和音频采集中断状态检测的使用样例,请参考音频播放音频采集的开发步骤。

🚀 如未找到文章请搜索栏搜素 | Ctrl+D收藏本站 | 联系邮箱:15810050733@qq.com