我制作了一个播放某些声音的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()占用大部分时间..
感谢您的帮助
答案 0 :(得分:1)
好的我发现老版本无法解决这个延迟问题,但是从Android 4.1开始,还有另一个音频驱动程序可以更好地运行。我尝试使用我的gTab 2.0,反馈非常快。
您不需要设置任何不同的内容,4.1中的新音频内容与之前的相同,但速度更快