0
我的应用程序使用Service
和MediaPlayer
流式传输音乐,但在尝试重置mediaplayer以播放下一首曲目时出现问题。重置媒体播放器需要很长时间,并导致用户界面冻结一段时间后快速按下多次,虽然我在另一个线程中调用它。MediaPlayer重置需要很长时间
这里是我的代码片段,我用它来从我的播放列表中的轨道
private void playTrack(int position) {
if (!isAudioFocusAvailable())
return;
try {
sendBufferingStarted();
// Problem is here
mPlayer.reset();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setDataSource(mTracks.get(mCurrentPosition).getUrl());
mIsBuffering = true;
mPlayer.prepareAsync();
mIsPaused = false;
acquireWifiWakeLock();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
}
}
任何建议,以避免重置和UI冻结问题