android agoraMediaPlayerKit 调节设备音量无法准确控制

集成agoraMediaPlayerKit后,播放网络 mp4文件, 默认音量设为100 调整设备音量的时候,无法静音,大小有变化,但是手机音量调最小还是无法静音,请问这是什么原因,同样也无法指定播放类型为 AudioManager.STREAM_MUSIC

joinChannel 前设置如下接口,即可实现静音。

iOS 平台

mRtcEngine.setParameters("{\"che.audio.use.remoteio\":true}");

Android 平台

mRtcEngine.setParameters("{\"che.audio.stream_type\":3}");
mRtcEngine.setParameters("{\"che.audio.audioMode\":0}");

Android 和 iOS 通用的设置

mRtcEngine.setParameters("{\"che.audio.enable.aec\":true}");
mRtcEngine.setParameters("{\"che.audio.enable.agc\":true}");
mRtcEngine.setParameters("{\"che.audio.enable.ns\":true}");

因为你此时使用的是通话音量,通话音量是不能为0的,可以通过上面的方式来尝试静音

只是用于当作播放器播放mp4文件,不是观看直播呢?

SDK 在 setAudioProfile 中提供 6 种不同的 Audio Scenario,包括: DEFAULTCHATROOM_ENTERTAINMENTEDUCATIONGAME_STREAMINGSHOWROOMCHATROOM_GAMING 。其中:

  • GAME_STREAMING 场景下,通信时使用媒体音量;直播时无论观众还是主播也都使用媒体音量

用这个场景试一下

只是播放器部分MediaPlayer Kit,https://docs.agora.io/cn/Interactive%20Broadcast/mediaplayer_android?platform=Android#local 比如播放本地mp4 单纯当作播放器,不发布到到直播间,用不到 [RtcEngine] 没有Agora Native SDK 和 RtcChannelPublishHelper 所以没有以上说的方法

https://docs.agora.io/cn/Interactive%20Broadcast/API%20Reference/mediaplayer_java/classio_1_1agora_1_1mediaplayer_1_1_agora_media_player_kit.html#acc4fae5e57c3c96e947817666f22eb56
直接通过mute可以静音
https://docs.agora.io/cn/Interactive%20Broadcast/API%20Reference/mediaplayer_java/classio_1_1agora_1_1mediaplayer_1_1_agora_media_player_kit.html#a92856f1e3c8294d722e51d5ba6ce5db3
adjustPlayoutVolume是否有效

所以要自己监听手机音量调节大小来实现静音? 播放器库 后续会加这些吗 播放视频的时候 默认用的通话声音

嗯,其实也不算监听,比如客户调用流if adjustVolume到0即静音,则再同步调用一次mute这样处理

后续应该会优化逻辑