如何停止同时播放多首歌曲?

时间:2018-11-18 19:10:15

标签: android android-mediaplayer

我有一个手动放入应用程序中的歌曲列表,目前它具有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);
            }
        }
    });

1 个答案:

答案 0 :(得分:1)

代替每次调用事件MediaPlayer时总是创建onClick的新实例,您应该创建一个实例并重用它


要播放新歌曲,请不要忘记先重置播放器。这是一个示例:

mPlayer.reset();
mPlayer.setDataSource(context, song.getSong());