我正在构建一个列表视图音板,我需要一个代码来播放声音,当我点击一个项目并在单击另一个时停止它,然后开始新的声音。我尝试了很多代码,但应用程序崩溃了。
答案 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();
}