低于21的Android等效于MediaPlayer的setAudioAttributes()

时间:2019-01-11 02:11:28

标签: android android-mediaplayer

我正在为AudioAttribute设置MediaPlayer,如下所示:

 mMediaPlayer.setAudioAttributes((AudioAttributes) new AudioAttributesCompat.Builder()
                    .setUsage(AudioAttributesCompat.USAGE_NOTIFICATION_RINGTONE).build().unwrap());

但显然:

  

调用需要API级别21(当前最小值为19):android.media.MediaPlayer#setAudioAttributes

那么,如何在API 21下将AudioAttribute设置为MediaPlayer呢?我设置此属性主要是为了表明我对声音的使用,即“铃声”,API 21是否仍需要此属性?

1 个答案:

答案 0 :(得分:1)

我认为您想使用setAudioStreamType(int)类型的AudioManager.STREAM_NOTIFICATION

但是,您应该考虑使用AndroidX的MediaPlayer2而非本机MediaPlayer。 setAudioAttributes()已包含在内,您无需强制转换即可使用它。

要实现它:

implementation 'androidx.media2:media2:1.0.0-alpha03'