android - 如何从Android中的原始文件夹一个接一个地播放音频文件

标签 android audio audio-player android-music-player

我正在尝试从原始文件夹播放音频文件,并且正在播放文件,但是我面临的问题是它正在播放当前文件,而下一个文件一次仅意味着2个文件,此后就不行了。我想播放所有文件,直到音乐播放器结束,然后从头开始重复相同的文件。

下面是我正在尝试的代码。

mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
                playSong(position);

                mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {
                    @Override
                    public void onCompletion(MediaPlayer mp) {
                        // check for repeat is ON or OFF
                        Log.d("---------=========", "inside on completion");
                        System.out.println("============= inside oncompletiion ====================");
                        if (isRepeat) {
                            Log.e("---------------", "Inside on Repeat");
                            // repeat is on play same song again
                            playSong(currentSongIndex);
                        } else if (isShuffle) {
                            Log.e("---------------", "Inside on Shuffle");
                            // shuffle is on - play a random song
                            Random rand = new Random();
                            currentSongIndex = rand.nextInt((mSongs.length - 1) - 0 + 1) + 0;
                            playSong(currentSongIndex);
                        } else {
                            // no repeat or shuffle ON - play next song
                            if (currentSongIndex < (mSongs.length - 1)) {
                                Log.e("---------------", "Next song play");
                                playSong(currentSongIndex + 1);
                                currentSongIndex = currentSongIndex + 1;
                            } else {
                                // play first song
                                playSong(0);
                                currentSongIndex = 0;
                            }
                        }
                    }
                });
            }
        });

关于某些代码或方法的建议,通过这些代码或方法,它们可以连续播放文件。

最佳答案

我建议的算法是,

  • 将音乐文件的所有资源ID保留在数组(或映射)中,随心所欲
  • 然后保持一会儿循环来遍历它。

  • 希望这对您有所帮助:)

    关于android - 如何从Android中的原始文件夹一个接一个地播放音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39329029/

    相关文章:

    android - 以编程方式打开 Android 设置

    android - 无法导入 com.google。 .... 为什么?

    python - 如何使用pygame播放音乐(Python)

    javascript - 如何在 NodeJs 中通过回放进行实时音频分析?

    audio - 多个敌人拥有自己的音频源和剪辑,使我的游戏的音频滞后

    java - 在 View 类中保存 sharedPreferences

    android - 如何从服务器播放音频文件 Mp3

    java - Android抛出空指针异常

    ios - 从 MIDI Playback 获取 MusicSequence 回调

    ANDROID:如何将 JSON 数据保存在文件中并进行检索?