音频监控回调
方法名称
void onMonitorAudio(AppOperateResponse<MediaMonitorData> appOperateResponse)
功能描述
音频监控回调。该方法在音频监控数据更新时触发。
参数说明
| 字段名 | 类型 | 说明 |
|---|---|---|
| appOperateResponse | AppOperateResponse | 操作响应对象 |
回调参数
| 字段 | 类型 | 说明 |
|---|---|---|
| error_code | String | 状态码,0表示成功 |
| error_msg | String | 错误详情 |
| result_data | JsonObject | 媒体信息 |
MediaMonitorData对象,包含以下字段:
| 字段名 | 类型 | 说明 |
|---|---|---|
| metadataKeyTitle | String | 歌曲名称 |
| metadataKeyArtist | String | 歌手名称 |
| metadataKeyAlbum | String | 专辑名称 |
| metadataKeyAlbumArtist | String | 专辑歌手 |
| metadataKeyAlbumCover | String | 专辑封面,通常为图片URL或Base64编码字符串 |
| metadataKeyDuration | Integer | 歌曲时长,单位:毫秒 |
| isPlaying | Boolean | 音频是否正在播放
|
| packageName | String | 提供音频播放服务的应用包名 |
返回值
无
调用示例
// 设置音频监听回调
CloudPhoneClient.setAppCallback(new CloudPhoneClient.Callback.AppCallback() {
@Override
public void onMonitorAudio(AppOperateResponse<MediaMonitorData> response) {
if (response.isSuccess() && response.getData() != null) {
MediaMonitorData monitorData = response.getData();
// 处理监听得到的音频信息
String title = monitorData.getMetadataKeyTitle();
boolean isPlaying = monitorData.getIsPlaying();
String albumCover = monitorData.getMetadataKeyAlbumCover();
// ...其他字段处理
} else {
// 处理回调失败情况
String errorMsg = response.getErrorMsg();
}
}
// 其他回调方法...
}); 响应示例
当音频状态或元数据发生变化时,参数中的response.getData()内容如下:
response.getData()
返回示例:
{
"metadataKeyTitle": "Perfect",
"metadataKeyArtist": "Ed Sheeran",
"metadataKeyAlbum": "÷ (Divide)",
"metadataKeyAlbumArtist": "Ed Sheeran",
"metadataKeyAlbumCover": "https://example.com/covers/ed_sheeran_divide.jpg",
"metadataKeyDuration": 263000,
"isPlaying": true,
"packageName": "com.example.musicplayer"
}