我有一个手动放入应用程序中的歌曲列表,目前它具有3个功能:开始,暂停和停止(使用ImageViews)。
问题是我可以同时播放多首不那样的歌曲。我真的在这里找不到问题,希望有人能帮忙。
This is a demonstration on my problem
我希望它在单击另一首歌曲时停止当前正在播放的歌曲。
这是我的播放按钮代码:
viewholder.playB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (currentSong == null || song != currentSong) {
currentSong = song;
mediaPlayer = MediaPlayer.create(context, song.getSong());
}
if (mediaPlayer.isPlaying()) {
mediaPlayer.pause();
viewholder.playB.setImageResource(R.drawable.play_black);
} else {
mediaPlayer.start();
viewholder.playB.setImageResource(R.drawable.pause_black);
}
}
});
答案 0 :(得分:1)
代替每次调用事件MediaPlayer
时总是创建onClick
的新实例,您应该创建一个实例并重用它。
要播放新歌曲,请不要忘记先重置播放器。这是一个示例:
mPlayer.reset();
mPlayer.setDataSource(context, song.getSong());