我在按钮上点了一个简单的应用程序。在模拟器上确实存在错误:“ 34 mp3extractor无法重新同步。信号流结束” 但声音已经发生了。我能听到。
问题是,在某些真实设备上声音无法在安装后第一次或第二次尝试。在许多设备上,声音仅在第二次或第三次尝试时发生。
这种行为非常不可靠且不一致。
有人知道这个问题吗?谢谢您的回答。 这是我的代码:
Button.OnClickListener Button_Auswertung_OnClickListener = 新的Button.OnClickListener(){
public void onClick(View v) {
MediaPlayer mepl = MediaPlayer.create(Activity.this, R.raw.sound);
mepl.start();
Toast.makeText(getApplicationContext(), "klicked", Toast.LENGTH_SHORT).show();
}
};
答案 0 :(得分:0)
每次调用onclick处理程序时,我都不会重新创建MediaPlayer
。
最好在那个上创建属于你的活动或片段,然后从onclick处理程序调用start()。
如果要播放的声音很多,那么SoundPool
可能是个更好的主意。
此外,您似乎没有发布MediaPlayer
,因为您正在创建一堆新的,这可能会导致异常。
答案 1 :(得分:0)
点击您的媒体播放器:
MediaPlayer mepl = MediaPlayer.create(Activity.this, R.raw.sound);
Button.OnClickListener Button_Auswertung_OnClickListener = new Button.OnClickListener() {
public void onClick(View v) {
// just call start
mepl.start();
// also dont use app context for toasts
Toast.makeText(v.getContext(), "klicked", Toast.LENGTH_SHORT).show();
}
};
您需要查看MEdiaPlayer的docs,尤其是状态图。它将帮助您了解如何正确使用而不会出错。
希望这有帮助。