【问题标题】:How to detect song playing is completed?如何检测歌曲播放完成?
【发布时间】:2013-03-26 11:19:23
【问题描述】:

我正在使用以下代码在媒体播放器的帮助下播放歌曲,

mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource( "sound_file_filepath" );
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(new OnPreparedListener() 
{
    @Override
    public void onPrepared(MediaPlayer mp) 
    {
        mediaPlayer.start();
    }
}); 

现在我的 .xml 文件中有一个切换类型的图像,它首先显示一个播放图像。单击/触摸播放图像后,它将开始播放歌曲并用停止图像替换图像。

现在我的问题是我怎么知道我的声音已经播放完了?我非常了解 isPlaying() 方法,如果歌曲正在运行,则返回 true,否则返回 false。但是我应该何时何地检查此条件以再次显示播放图像?

【问题讨论】:

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


    【解决方案1】:

    我相信这样的事情会有所帮助,

    mediaPlayer.setOnCompletionListener(this);
    // When song is ended then media player automatically called onCompletion method.
        public void onCompletion(MediaPlayer arg0) 
    {
        // Write your code
    }
    

    【讨论】:

    • 感谢马尔科的回答
    【解决方案2】:

    像 OnPrepared 监听器一样,你有 OnCompletion 监听器,如下所示

    mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
    
            @Override
            public void onCompletion(MediaPlayer mp) {
                // TODO Auto-generated method stub
    
            }
        });
    

    【讨论】:

      【解决方案3】:

      检查这个:

      mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
          public void onCompletion(MediaPlayer mp) {
              Log.i("Completion Listener","Song Complete");
          }
      });
      

      【讨论】:

        【解决方案4】:

        使用以下代码语法-

        Audio_object=document.getElementById('audio_tag_id');
        if(Audio_object.currentTime==Audio_object.duration)
        //the audio object has completely played.
        

        audio_tag_id<audio> 元素的 id。

        【讨论】:

          【解决方案5】:
          MediaPlayer mp = new MediaPlayer();
          
          mp.setOnCompletionListener(new OnCompletionListener() {     
              @Override
              public void onCompletion(MediaPlayer mp) {
                  //Do the work after completion of audio
              }
          });
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-04-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多