我制作了一个播放某些声音的 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 毫秒)。对于音乐应用程序来说,即使是 40 毫秒也太高了。是否可以在缓存中预加载声音或其他东西?我认为 .reset() 花费了大部分时间..
谢谢你的帮助