我正在Media Player的帮助下使用以下代码播放一首歌
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。但是当&我应该在哪里检查这个条件再次显示播放图像?
答案 0 :(得分:15)
我相信这样的事情会有所帮助,
mediaPlayer.setOnCompletionListener(this);
// When song is ended then media player automatically called onCompletion method.
public void onCompletion(MediaPlayer arg0)
{
// Write your code
}
答案 1 :(得分:0)
与OnPrepared Listener一样,你有像下面的OnCompletion Listener
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
}
});
答案 2 :(得分:0)
检查一下:
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
Log.i("Completion Listener","Song Complete");
}
});
答案 3 :(得分:0)
使用以下代码语法 -
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。
答案 4 :(得分:0)
MediaPlayer mp = new MediaPlayer();
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
//Do the work after completion of audio
}
});