我创建了一个 Array
声音,然后我需要播放它们,但我只能听到第一个声音:
这是我的数组
:
public static class Marrays{
public static String[] Zero(){
String[] OK = new String[] {"num1.mp3" , "increment.amr", "num1.mp3"};
return OK;
}
}
和:
String[] a = Marrays.Zero();
我使用上面的 array
:
for (int i = 0; i < a.length; i++) {
try {
AssetFileDescriptor afd = getAssets().openFd(a[i]);
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
mediaPlayer.prepare();
mediaPlayer.start();
}
catch (IllegalArgumentException e) { Toast.makeText(getApplicationContext(), e.toString() , Toast.LENGTH_SHORT).show(); }
catch (IllegalStateException e) {Toast.makeText(getApplicationContext(), e.toString() , Toast.LENGTH_SHORT).show(); }
catch (IOException e) { Toast.makeText(getApplicationContext(), e.toString() , Toast.LENGTH_SHORT).show();}
}
最佳答案
在播放下一个之前,您可能应该等待每个声音播放完:
mediaplayer.setOnCompletionListener
将允许您创建一个监听器,您可以在其中读取下一个声音。 (设置一个计数器字段以了解要播放的女巫声音。
希望对您有所帮助!
关于java - 我如何从声音中播放数组? - 安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27446383/