如何检测歌曲播放完成?

Ray*_*old 3 audio android audio-player android-music-player

我正在使用以下代码在Media Player的帮助下播放一首歌,

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

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

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

Mar*_*vic 16

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

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