2017-03-09 80 views
0

我的MediaPlayer在Android的播放声音,我们希望播放文件基础上开始时间和结束时间 例如:如何以编程方式在给定时间暂停/停止MediaPlayer Android?

start 10370 ,end: 14759 [OR] start 4754 ,end: 7836 

我用我的问题这个代码,但它不工作完美 Pause/Stop MediaPlayer Android at given time programmatically

我的代码:

mediaPlayer.setDataSource(fd); 
mediaPlayer.prepare(); 
mediaPlayer.seekTo(words.getW_start()); 
mediaPlayer.start(); 
handler.postDelayed(stopPlayerTask, words.getW_end()); 

你知道为什么这段代码不起作用吗?

回答

0

我能解决问题.complete代码:

mediaPlayer.setDataSource(fd); 
mediaPlayer.prepare(); 
mediaPlayer.seekTo(words.getW_start()); 
mediaPlayer.start(); 
new CountDownTimer(endTime, 10) { 
public void onTick(long millisUntilFinished) { 

if(MediaPlayerUtility.getTime(mediaPlayer)>=endTime){ 
     mediaPlayer.stop(); 
    } 

     } 

    public void onFinish() { 


          } 
    }.start(); 

和MediaPlayerUtility类:

public class MediaPlayerUtility { 


    public static long getTime(MediaPlayer mediaPlayer) { 


     long totalDuration = mediaPlayer.getDuration(); // to get total duration in milliseconds 

     long currentDuration = mediaPlayer.getCurrentPosition(); // to Gets the current playback position in milliseconds 

     return currentDuration; 

    } 


}