举报投诉联系我们 手机版 热门标签 鳄鱼CMS
您的位置:鳄鱼CMS > 鸿蒙的音量控制 鸿蒙OS 音量管理开发指导

鸿蒙的音量控制 鸿蒙OS 音量管理开发指导

2023-06-21 10:31 鸿蒙OS开发文档

鸿蒙的音量控制 鸿蒙OS 音量管理开发指导

鸿蒙的音量控制

鸿蒙是一款基于安卓的操作系统,它为用户提供了一系列的功能,其中包括音量控制。鸿蒙的音量控制可以帮助用户调整手机的声音大小,以便在不同场合使用手机时能够得到最佳的声音效果。

使用鸿蒙的音量控制功能很简单,只要在主界面上找到“设置”图标,然后进入“声音”选项卡,就可以看到“媒体声音”、“通知声音”、“闹钟声音”和“来电声音”四个选项。用户可以根据自己的喜好来调整这些选项中的声量大小。

此外,如果想要快速调整手机的声量大小,也可以使用快捷方式来实现。在主界面上找到快捷方式图标,然后将其拖动到想要显示的位置即可。当快捷方式显示出来之后,就可以直接使用它来快速调整手机的声量大小了。

// 设置媒体声量 
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, 0); 
// 设置通知声量 
audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION, volume, 0); 
// 设置闹钟声量 
audioManager.setStreamVolume(AudioManager.STREAM_ALARM, volume, 0); 
// 设置来电声量 
audioManager.setStreamVolume(AudioManager.STREAM_RING, volume, 0);  												   

鸿蒙OS 音量管理开发指导

场景介绍

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

接口说明

接口名 描述
AudioManager() 构造函数。
AudioManager(Context context) 构造函数,由使用者指定应用上下文 Context。
AudioManager(String packageName) 构造函数,由使用者指定包信息。
activateAudioInterrupt(AudioInterrupt interrupt) 激活音频中断状态检测。
deactivateAudioInterrupt(AudioInterrupt interrupt) 去激活音频中断状态检测。
getAudioParameter(String key) 获取音频硬件中指定参数 keys 所对应的参数值。
AudioDeviceDescriptor[] getDevices(DeviceFlag flag) 获取设备信息。
int getMaxVolume(AudioVolumeType volumeType) 获取指定音频流音量最大档位。
int getMinVolume(AudioVolumeType volumeType) 获取指定音频流音量最小档位。
int getRingerMode() 获取铃声模式。
int getVersion() 获取音频套件版本。
int getVolume(AudioVolumeType volumeType) 获取指定音频流的音量档位。
boolean isDeviceActive(int deviceType) 判断设备的开关状态。
boolean isMute(AudioVolumeType volumeType) 特定的流是否处于静音状态。
boolean mute(AudioVolumeType volumeType) 将特定流设置为静音状态。
boolean setAudioParameter(String key, String value) 为音频硬件设置可变数量的参数值。
boolean setDeviceActive(int deviceType, boolean state) 设置设备的开关状态。
boolean setRingerMode(AudioRingMode mode) 设置铃声模式。
boolean setVolume(AudioVolumeType volumeType, int volume) 设置特定流的音量档位。
boolean unmute(AudioVolumeType volumeType) 将特定流设置为非静音状态。
boolean setMasterMute(boolean isMute) 将主音频输出设备设置为静音或取消静音状态。
boolean setMicrophoneMute(boolean isMute) 将麦克风设置为静音或取消静音状态。
boolean isMicrophoneMute() 判断麦克风是否处于静音状态。
List<AudioCapturerConfig> getActiveCapturerConfigs() 获取设备当前激活的音频采集任务的配置信息。
registerAudioCapturerCallback(AudioCapturerCallback cb) 注册音频采集参数变更回调。
void unregisterAudioCapturerCallback(AudioCapturerCallback cb) 去注册音频采集参数变更回调。
Uri getRingerUri(Context context, RingToneType type) 获取指定铃声类型的Uri。
void setRingerUri(Context context, RingToneType type, Uri uri) 设置指定铃声类型的 Uri。
AudioManager.CommunicationState getCommunicationState() 获取当前的通话模式。
void setCommunicationState(AudioManager.CommunicationState communicationState) 设置当前的通话模式。
boolean changeVolumeBy(AudioVolumeType volumeType, int index) 将当前音量增加或减少一定量。
boolean connectBluetoothSco() 连接到蓝牙 SCO 通道。
boolean disconnectBluetoothSco() 断开与蓝牙 SCO 通道的连接。
java.util.List<AudioRendererInfo> getActiveRendererConfigs() 获取有关活动音频流信息,包括使用类型、内容类型和标志。
static int getMasterOutputFrameCount() 获取主输出设备缓冲区中的帧数。
static int getMasterOutputSampleRate() 获取主输出设备的采样率。
boolean isMasterMute() 检查音频流是否全局静音。
static boolean isStreamActive(AudioVolumeType volumeType) 检查指定类型的音频流是否处于活动状态。
static int makeSessionId() 创建一个会话 ID,AudioRendererInfo.Builder.sessionID(int)将使用该会话 ID 来设置音频播放参数,而AudioCapturerInfo.Builder.sessionID(int)将使用该会话 ID 来设置记录参数。
void registerAudioRendererCallback(AudioRendererCallback cb) 注册音频播放参数变更回调。
void unregisterAudioRendererCallback(AudioRendererCallback cb) 去注册音频播放参数变更回调。

开发步骤

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

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

阅读全文
以上是鳄鱼CMS为你收集整理的鸿蒙的音量控制 鸿蒙OS 音量管理开发指导全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 鳄鱼CMS eyucms.com 版权所有 联系我们