我已经使用MediaControll创建了MediaPlayer。它有效,但我想在完成后将MediaController和MediaPlayer返回到歌曲的开头。因此,当歌曲完成时,会有暂停按钮,并且仍然会显示最终位置的搜索栏。当歌曲结束时,我想设置搜索栏以开始播放位置并更改按钮以播放(因此用户可以点击它来重播此歌曲)。我和这位开发人员有同样的问题:Android MediaController End Of song。我应用了他的问题的解决方案,但仍然无法重置控制器。我的代码有什么问题?据我所知,我应该用onCompletion
方法写一些东西。
mPlayer = new MediaPlayer();
mPlayer.setOnCompletionListener(this);
controller = new MediaController(this){
@Override
public void show(int timeout) {
super.show(0);
}
};
listSongs.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (mPlayer != null) {
mPlayer.release();
}
mPlayer = MediaPlayer.create(MainActivity.this, arrayList.get(position).getmSongResourceId());
mPlayer.start();
controller.show(0);
}
});
controller.setMediaPlayer(this);
onCompletion
方法
@Override
public void onCompletion(MediaPlayer mp) {
mp.reset();
controller.show(0);
}
感谢您的帮助。