音频属性 FLAG_AUDIBILITY_ENFORCED 和音量

Reg*_*ous 5 java android android-studio

快速提问,因为我似乎错过了一些东西。

我有一个媒体播放器类,我想用它来播放 mp3。

我这样设置属性...

 AudioAttributes aa = new AudioAttributes.Builder()
                    .setUsage(AudioAttributes.USAGE_MEDIA)
                    .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
                    .setFlags(FLAG_AUDIBILITY_ENFORCED)
                    .build(
 mediaplayer.setAudioAttributes(aa);
Run Code Online (Sandbox Code Playgroud)

但是,当曲目播放时,它使用系统(铃声)音量作为主音量控制。不是我所期望的媒体量。如果我错过了设置标志......

.setFlags(FLAG_AUDIBILITY_ENFORCED)
Run Code Online (Sandbox Code Playgroud)

它按预期工作并使用媒体音量。为什么设置上面的标志会改变设备上控制播放的音量?

谢谢!