让MediaPlayer反应更快?

时间:2013-04-06 12:41:42

标签: android media-player

我制作了一个播放某些声音的Android应用程序。我想停止声音,如果下一个正在播放,我用

成功完成了
 public     void w1() throws IllegalArgumentException, SecurityException, IllegalStateException, IOException{
         mediaPlayerW.reset();
mediaPlayerW.setDataSource(MainActivity.this, Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.w1));
 mediaPlayerW.prepare();
mediaPlayerW.start();}


    public void onClick(View f) {

if(f == button1) 
            {w1();}}

[其他方法称为w2; W3; w4(...)]但让我们只研究一种声音。

到目前为止,每个按钮声音都可以“扼杀”自己(并从头开始再次播放)并且他会停止其他声音,所以总是只播放“新”声音。

我现在遇到的问题是,如果按下按钮,我会有一点中断(约100毫秒)。对于音乐应用来说,即使40ms也会太高。是否可以预先加载缓存中的声音或什么?我认为.reset()占用大部分时间..

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

好的我发现老版本无法解决这个延迟问题,但是从Android 4.1开始,还有另一个音频驱动程序可以更好地运行。我尝试使用我的gTab 2.0,反馈非常快。

您不需要设置任何不同的内容,4.1中的新音频内容与之前的相同,但速度更快