Android不可靠的媒体播放器类行为

时间:2013-08-06 14:07:42

标签: android

我在按钮上点了一个简单的应用程序。在模拟器上确实存在错误:“ 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();             

      }

};

2 个答案:

答案 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,尤其是状态图。它将帮助您了解如何正确使用而不会出错。

希望这有帮助。