【发布时间】:2018-02-08 17:47:32
【问题描述】:
我在互联网上有一个 mp3 文件的 url,想在我的应用程序中播放它。现在我这样做如下:
private void processPlayRequest(String url) {
if (mPlayer != null) {
mPlayer.stop();
mPlayer.reset();
mPlayer.release();
}
tryToGetAudioFocus();
if (mAudioFocus == AudioFocus.Focused) {
mPlayer = MediaPlayer.create(this, Uri.parse(url));
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);
mPlayer.setOnPreparedListener(this);
mPlayer.setOnCompletionListener(this);
mPlayer.setOnErrorListener(this);
}
}
它可以工作,但似乎没有缓冲,即只有在下载整个 mp3 文件后才开始播放。我想在有可能获得更快的性能时开始播放。所以我需要使用缓冲。有没有可能实现?
【问题讨论】:
-
默认播放文件的一部分,不需要添加任何内容
-
但事实并非如此。我尝试将 OnBufferingUpdateListener 添加到我的播放器,但它仅在 100% 时触发一次