单击其他项目时,Android媒体播放器会停止声音

时间:2014-03-25 00:34:06

标签: android listview android-listview media-player soundplayer

我正在构建一个列表视图音板,我需要一个代码来播放声音,当我点击一个项目并在单击另一个时停止它,然后开始新的声音。我尝试了很多代码,但应用程序崩溃了。

2 个答案:

答案 0 :(得分:1)

private MediaPlayer mMediaPlayer = null;

单击某个项目时调用playAudio()。它将停止播放音频并播放新音频。

public void playAudio(int audioId)
{
    // stop the previous playing audio
    if(mMediaPlayer != null && mMediaPlayer.isPlaying())
    {
        mMediaPlayer.stop();
        mMediaPlayer.release();
        mMediaPlayer = null;
    }
    mMediaPlayer = MediaPlayer.create(this, audioId);
    mMediaPlayer.start();
}

在项目点击

上调用此方法
 playAudio(R.raw.sound); // change this sound depends on your item

答案 1 :(得分:0)

将媒体文件放在原始文件夹中 然后

 MediaPlayer song = MediaPlayer.create(this, R.raw.song1);

当您点击listView中的项目时

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
     super.onListItemClick(l, v, position, id);
     song.release();
     song = MediaPlayer.create(this, R.raw.song2);
     song.start();
}