我只是在按钮点击时执行声音。在模拟器中一切正常,但当我在手机上运行时声音#2在无限循环中播放。
这可能是手机问题我已经从市场上下载了其他具有这些奇怪声音循环的应用程序。 (我有一个Droid 2)
声明:
final MediaPlayer mp1 = MediaPlayer.create(this, R.raw.sound1);
final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.sound2);
按钮1代码如下。
button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mp1.start();
textView1.setText("Hello");
}
});
按钮2代码如下。(这是循环代码)
button2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
count++;
mp2.start();
iv1.setVisibility(View.VISIBLE);
if (count == 5) {
//I do some enabling of components in here
}
}
});
我试过了
.stop()
.setLooping()
.pause()
以及在if语句之前和之前移动.start()
所有这些导致它仍然循环或根本没有声音。
答案 0 :(得分:1)
尝试使用
为此MediaPlayers添加OnCompletionListenermp.stop();
http://developer.android.com/reference/android/media/MediaPlayer.OnCompletionListener.html
希望,它可以帮助你
答案 1 :(得分:1)
如果您将R.raw.sound1与R.raw.sound2交换,循环问题是否与第二个媒体播放器保持一致,还是跟随sound2?
我不是声音文件格式的专家,但它可能是文件本身的问题。尝试在Audacity中打开文件并切断最后10毫秒,然后将其另存为新内容,并查看新文件中是否存在问题。