有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Mediaplayer播放列表(ArrayList)播放暂停无法正常工作

我用arraylist创建了一个播放列表。当我单击播放时,它开始播放,当我在播放时单击暂停时,它暂停

问题是:当一首曲目结束并准备开始下一首曲目时,播放暂停不能正常工作

例如:1首数字歌曲正在播放,当它即将结束时,2首数字歌曲将开始播放。如果我按下播放/暂停按钮,它将不工作

当播放状态处于中间时,播放暂停效果良好

(播放暂停问题发生在第一首歌曲结束和第二首歌曲开始之间)

我正在努力解决这个问题。我正在用java制作一个古兰经背诵应用程序

Arraylist播放代码:

            mp.setOnPreparedListener(mp -> {
    //            Log.i(TAG, "onPreparedListener");
                mp.start();
                Log.d("playcurrent_items", "current_item: " + playlist.get(playItemIndex));
                PlaybackParams params = mp.getPlaybackParams();
                params.setSpeed(playbackspeed);
                mp.setPlaybackParams(params);
            });
    
    
    
            Log.d("play_list_count", "out: " + playItemIndex + ", " + playlist.size());
            mp.setOnCompletionListener(mp -> {
    //            Log.i(TAG, "onCompletionListener");
                if (mediaRepeatCount + 1 < this.mediaRepeat) { // is media repeat available
                    mediaRepeatCount++;
                    play(true);
                    Log.d("play_list_count", "first: " + playItemIndex + ", " + playlist.size());
                } else if (playItemIndex < playlist.size() - 1) { // is next media available
                    mediaRepeatCount = 0;
                    playItemIndex++;
                    Log.d("play_list_count", "sec: " + playItemIndex + ", " + playlist.size());
                    play();
                } else if (playListRepeatCount + 1 < this.playListRepeat) { // is playList repeat available
                    playListRepeatCount++;
                    mediaRepeatCount = 0;
                    playItemIndex = 0;
                    play();
                } else { // playlist finished
                    resetConfig();
                    stop();
                }
                printStatus();
            });
    
            resetConfig();
            printStatus();
        }
    
  

共 (0) 个答案