Android 双音安卓
}Android 双音安卓,android,audio,onclick,android-mediaplayer,Android,Audio,Onclick,Android Mediaplayer,} 当我单击按钮时,它会播放声音,然后再次单击按钮停止播放,它不会停止并再次播放声音,这会导致一次播放两次声音。请帮助您每次单击都会创建一个新的MediaPlayer,而不是保留对第一个的引用。播放声音的MediaPlayer与您正在调用的isPlaying()不同。您需要将mp变量转换为字段,以便保留对它的引用 我想象这样的事情会奏效: package project.kalmas; import android.app.Activity; import android.content.In
当我单击按钮时,它会播放声音,然后再次单击按钮停止播放,它不会停止并再次播放声音,这会导致一次播放两次声音。请帮助您每次单击都会创建一个新的
MediaPlayer
,而不是保留对第一个的引用。播放声音的MediaPlayer
与您正在调用的isPlaying()
不同。您需要将mp
变量转换为字段,以便保留对它的引用
我想象这样的事情会奏效:
package project.kalmas;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
public class one extends Activity {
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.one);
}
public void onclick2(View view)
{
Intent i=new Intent("project.two");
startActivity(i);
}
public void onclick3(View view)
{
MediaPlayer mp= MediaPlayer.create(this,R.raw.one);
if(mp.isPlaying()){
mp.stop();
} else {
mp.start();
}
}
每次你点击这个按钮,你就会再次发出那种声音。因此,在oncreate方法MediaPlayer mp=MediaPlayer.create(this,R.raw.one)中单击ex之前,请执行此操作;谢谢vince,现在可以工作了,但它只工作一次启动然后停止,但在单击3后再也不会启动,我希望它开始停止…谢谢.Per,“一旦处于停止状态,在调用prepare()或prepareAsync()将MediaPlayer对象重新设置为准备状态之前,无法启动播放。”忽略我关于使用布尔字段的评论,这是不正确的。
public class one extends Activity {
MediaPlayer mp;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.one);
mp = MediaPlayer.create(this,R.raw.one);
}
public void onclick2(View view)
{
Intent i=new Intent("project.two");
startActivity(i);
}
public void onclick3(View view)
{
if(mp.isPlaying()){
mp.stop();
} else {
mp.start();
}
}
}