更新时间:2026-05-22 GMT+08:00
分享

音量控制回调

方法名称

void onVolumeControl(AppOperateResponse<VolumeDTO> appOperateResponse)

功能描述

音量控制回调。该方法在音量控制操作完成时触发。

参数说明

字段名

类型

说明

appOperateResponse

AppOperateResponse

操作响应对象

回调参数

VolumeDTO包含以下字段:

字段名

类型

说明

isAdjustVolume

Boolean

是否是用户主动调整音量操作

  • true:用户主动调整
  • false:系统自动调整

streamType

Integer

音量流类型,对应Android系统的AudioManager.STREAM_*常量值

volumeIndex

Integer

当前音量索引值,范围:0 ~ maxVolumeIndex

volumeFlag

Integer

音量调整标志位,对应Android系统的AudioManager.FLAG_*常量值

maxVolumeIndex

Integer

最大音量索引值

isMute

Boolean

是否静音状态

  • true:静音
  • false:非静音

返回值

调用示例

CloudPhoneClient.setSysCallback(new CloudPhoneClient.Callback.SysCallback() {
    @Override
    public void onVolumeControl(VolumeControlResponse response) {
        if (response.getError_code().equals("0")) {
            boolean isAdjustVolume = response.getIsAdjustVolume();
            int streamType = response.getStreamType();
            int volumeIndex = response.getVolumeIndex();
            int maxVolume = response.getMaxVolumeIndex();
            boolean isMute = response.getIsMute();
            
            // 处理音量变化
            if (streamType == AudioManager.STREAM_MUSIC) {
                // 音乐音量变化
                float volumePercent = (float) volumeIndex / maxVolume;
                
                if (isAdjustVolume) {
                    // 用户主动调整音量
                    Log.d("VolumeControl", "用户调整音乐音量: " + volumePercent * 100 + "%");
                    updateVolumeUI(volumePercent, isMute);
                } else {
                    // 系统自动调整音量
                    Log.d("VolumeControl", "系统调整音乐音量: " + volumePercent * 100 + "%");
                }
            }
            
            // 处理静音状态变化
            if (isMute) {
                Log.d("VolumeControl", "音量已静音");
                showMuteIndicator();
            } else {
                Log.d("VolumeControl", "音量已恢复");
                hideMuteIndicator();
            }
        }
    }
 
    // 其他回调方法...
});

响应示例

{
    "isAdjustVolume": true,
    "streamType": 3,
    "volumeIndex": 15,
    "volumeFlag": 8,
    "maxVolumeIndex": 30,
    "isMute": false
}

相关文档