Android 如何检测歌曲播放是否完成?
我在媒体播放器的帮助下用以下代码播放一首歌Android 如何检测歌曲播放是否完成?,android,audio,audio-player,android-music-player,Android,Audio,Audio Player,Android Music Player,我在媒体播放器的帮助下用以下代码播放一首歌 mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource( "sound_file_filepath" ); mediaPlayer.prepareAsync(); mediaPlayer.setOnPreparedListener(new OnPreparedListener() { @Override public void onPrepared(MediaPlayer
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource( "sound_file_filepath" );
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(new OnPreparedListener()
{
@Override
public void onPrepared(MediaPlayer mp)
{
mediaPlayer.start();
}
});
现在,我的.xml文件中有一个切换类型的图像,它首先显示一个播放图像。单击/触摸播放图像后,它将启动歌曲并将图像替换为停止图像
现在我的问题是,我如何知道我的声音已经播放完毕?我非常了解isplay()方法,如果歌曲正在运行,它将返回true;如果歌曲没有运行,它将返回false。但是,我应该在何时何地检查此条件以再次显示播放图像?我相信这样做会有所帮助
mediaPlayer.setOnCompletionListener(this);
// When song is ended then media player automatically called onCompletion method.
public void onCompletion(MediaPlayer arg0)
{
// Write your code
}
就像准备好的监听器一样,你有下面这样的完成监听器
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
}
});
勾选这个:
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
Log.i("Completion Listener","Song Complete");
}
});
使用以下代码语法-
Audio_object=document.getElementById('audio_tag_id');
if(Audio_object.currentTime==Audio_object.duration)
//the audio object has completely played.
audio\u tag\u id
是
-元素的id。谢谢您的回答
MediaPlayer mp = new MediaPlayer();
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
//Do the work after completion of audio
}
});