当我点击一个按钮时,会播放一个音频,但如果同时我在我的应用中播放另一个音频片段,则第一个音频片段没有停止,但两个音频片段同时运行。这个问题如果我多次单击该按钮,则运行多个音频文件实例。我想一次只运行一个音频文件。如果我单击另一个音频文件,则应自动停止上一个音频文件。
java文件代码是
button_audio2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
mysound = MediaPlayer.create(MyActivity.this, R.raw.audio2);
if( mysound.isPlaying()){
button_audio2.setText("play");
mysound.pause();}
else{
button_audio2.setText("pause");
mysound.start();
mysound.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release();
}
})
;
}
}
});
答案 0 :(得分:0)
如您帖子中所述,每次点击按钮时都会创建一个新的MediaPlayer
您可以对代码进行一些更改,以测试mysound
是否已初始化。
button_audio2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if (mysound == null){
mysound = MediaPlayer.create(MyActivity.this, R.raw.audio2);
mysound.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release();
mysound = null;
}
});
}
if( mysound.isPlaying()){
button_audio2.setText("play");
mysound.pause();
}
else{
button_audio2.setText("pause");
mysound.start();
}
}
});