MediaPlayer 的 prepareAsync 似乎在 Android 9 上停止工作

MediaPlayer's prepareAsync seems to stop working on Android 9

我正在使用 MediaPlayer 播放 mp3 文件 (url),一切正常。

mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);

prepareAsync();

mediaPlayer.setOnPreparedListener(onPreparedListener);
mediaPlayer.setOnCompletionListener(onCompletionListener);

但是在 Android Pie (9) 上测试时,它就停止工作了...

我检查了日志记录,但错误不是很清楚:

E/MediaPlayer_JAVA: Error (1,-2147483648)

纠结了一段时间后,我决定改成ExoPlayer,问题依旧,但错误更清楚了,解决方法如下: