Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android上,是否知道如何使用setOnCompletionListener播放下一个项目_Java_Android - Fatal编程技术网

Java 在Android上,是否知道如何使用setOnCompletionListener播放下一个项目

Java 在Android上,是否知道如何使用setOnCompletionListener播放下一个项目,java,android,Java,Android,我试图开发mediaplayer应用程序,我使用listview显示和播放歌曲, 我无法使用setOnCompletionListener自动播放下一个声音项 我的代码: list.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view,

我试图开发mediaplayer应用程序,我使用listview显示和播放歌曲, 我无法使用setOnCompletionListener自动播放下一个声音项

我的代码:

    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {


        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                                final int position, long id) {

            mButtonPause.setEnabled(true);
            mButtonResume.setEnabled(false);

            if (position == 0){
                sound.setAudioStreamType(AudioManager.STREAM_MUSIC);
                String audioUrl1 = "https://embeye.tech/ummi/speaker/0001.mp3";
                try {

                    halaman.setText("Doa Pembuka");

                    playSound(audioUrl1);
                    Toast.makeText(mContext,"Playing",Toast.LENGTH_SHORT).show();

                    mButtonNext.setEnabled(true);
                    mButtonPrev.setEnabled(false);

                    initializeSeekBar();
                } catch (IllegalArgumentException e){
                    e.printStackTrace();
                }catch (SecurityException e){
                    e.printStackTrace();
                }catch (IllegalStateException e){
                    e.printStackTrace();
                }
            }

            else if (position == 1) {
                sound.setAudioStreamType(AudioManager.STREAM_MUSIC);
                String audioUrl1 = "https://embeye.tech/ummi/speaker/jilidsatu/0101.mp3";
                try {

                    halaman.setText("Halaman Satu");
                    playSound(audioUrl1);

                    Toast.makeText(mContext,"Playing",Toast.LENGTH_SHORT).show();
                    initializeSeekBar();

                    mButtonNext.setEnabled(true);
                    mButtonPrev.setEnabled(true);

                }catch (IllegalArgumentException e){
                    e.printStackTrace();
                }catch (SecurityException e){
                    e.printStackTrace();
                }catch (IllegalStateException e){
                    e.printStackTrace();
                }
            }

            else if (position == 2){
                sound.setAudioStreamType(AudioManager.STREAM_MUSIC);
                String audioUrl1 = "https://embeye.tech/ummi/speaker/jilidsatu/0102.mp3";
                try {
                    halaman.setText("Halaman Dua");
                    playSound(audioUrl1);

                    Toast.makeText(mContext,"Playing",Toast.LENGTH_SHORT).show();
                    initializeSeekBar();

                    mButtonNext.setEnabled(true);
                    mButtonPrev.setEnabled(true);

                }catch (IllegalArgumentException e){
                    e.printStackTrace();
                }catch (SecurityException e){
                    e.printStackTrace();
                }catch (IllegalStateException e){
                    e.printStackTrace();
                }
            }

            else if (position == 3){
                sound.setAudioStreamType(AudioManager.STREAM_MUSIC);
                String audioUrl1 = "https://embeye.tech/ummi/speaker/jilidsatu/0103.mp3";
                try {

                    halaman.setText("Halaman Tiga");
                    playSound(audioUrl1);

                    Toast.makeText(mContext,"Playing",Toast.LENGTH_SHORT).show();
                    initializeSeekBar();

                    mButtonNext.setEnabled(true);
                    mButtonPrev.setEnabled(true);

                }catch (IllegalArgumentException e){
                    e.printStackTrace();
                }catch (SecurityException e){
                    e.printStackTrace();
                }catch (IllegalStateException e){
                    e.printStackTrace();
                }
            }

            sound.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer mediaPlayer) {
                    Toast.makeText(mContext,"End",Toast.LENGTH_SHORT).show();
                    mButtonResume.setEnabled(true);
                    sound.isPlaying();
                    sound.reset();
                    songNumber = String.valueOf(position + 1);

                    sound.setAudioStreamType(AudioManager.STREAM_MUSIC);
                    String audioUrl1 = songNumber;
                    playSound(audioUrl1);
                }
            });
        }


    });
实际上我想做的是,我想在当前歌曲完成后播放下一首歌曲,根据我上面的代码,我想在position==0 complete时激活position==1;这意味着songNumber将是2,而当您将AudioURL设置为2时

我建议您创建一个AudioURL数组,然后设置songNumber=AudioURL


如果这对你没有帮助,你可以发布完整的stacktrace,这样我们就可以看到实际的错误。

hi@isaaaame谢谢你的评论,这里有点混乱,实际上我想做的是,我想在当前歌曲完成后播放下一首歌曲,基于我上面的代码,我想在position==0完成时激活position==1
            sound.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer mediaPlayer) {
                    Toast.makeText(mContext,"End",Toast.LENGTH_SHORT).show();
                    mButtonResume.setEnabled(true);
                    sound.isPlaying();
                    sound.reset();
                    songNumber = String.valueOf(position + 1);

                    sound.setAudioStreamType(AudioManager.STREAM_MUSIC);
                    String audioUrl1 = songNumber;
                    playSound(audioUrl1);
                }
            });