0
当用户从listview
中选择歌曲时,我使用以下代码播放音乐。阻止媒体播放器调用onCompletionListener
if (mMediaPlayer.isPlaying()) {
mMediaPlayer.reset();
try {
mMediaPlayer.setDataSource(MainActivity.localTrackList.get(MainActivity.currentOffset).getPath());
} catch (IOException e) {
e.printStackTrace();
}
mMediaPlayer.prepareAsync();
} else {
mMediaPlayer = new MediaPlayer();
try {
mMediaPlayer.setDataSource(MainActivity.localTrackList.get(MainActivity.currentOffset).getPath());
} catch (IOException e) {
e.printStackTrace();
}
mMediaPlayer.prepareAsync();
}
mMediaPlayer.reset();
正在调用onCompletionListener
。在我的oncompletionListener
中,我正在播放下一首歌曲,因此不是播放所选歌曲,而是播放listview
中的下一首歌曲。是否有任何方法可以阻止拨打onCompletionListener
并只播放从listview
中选择的歌曲?
嗨。也许你可以添加一个布尔标志(isMediaPlayerReset),并在播放器手动重置时将其设置为true,并在onCompletionListener上检查它。 – Lev
好的时候应该将isMediaPlayerReset设置为true和false?我应该如何处理生命周期?任何暗示或要点将不胜感激 –