java - 我如何从声音中播放数组? - 安卓

标签 java android arrays android-mediaplayer

我创建了一个 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/

相关文章:

java - 如何修复 intellij 中损坏的 java 类?

java - Javers 不报告对象层次结构中的引用更改

Android sqlite 从 ListView 中删除

android - 在 Galaxy Tab 10.1 上调试应用程序

java - 我一次运行多个异步任务,我只想关闭这三个任务中的一个

javascript - 将字符串分成三 block ,但最少为两 block

c++ - 将静态数组复制到动态数组

java - 如何在生产环境中轻松运行多个 Spring Boot 应用程序

java - 在 MySQL 中使用印度数字分隔符格式化货币金额

java - 从数组中删除重复条目的程序不会删除某些条目