以编程方式在给定时间暂停/停止MediaPlayer Android

Dor*_*yan 6 android media-player

我研究了一下,但找不到任何解决这个问题的方法:我想MediaPlayer在给定时间播放并暂停/停止它.(即:从第二个6到第二个17).

我知道我可以用seekTo()方法设置它的起点,但我可以通过设置一个终点(当然,在达到文件结束限制之前)暂停/停止播放吗?

Ken*_*olf 17

有不同的方法可以做到这一点,这里有一个:

int startFrom = 6000;
int endAt = 11000;

MediaPlayer mp;

Runnable stopPlayerTask = new Runnable(){
    @Override
    public void run() {
        mp.pause();
    }};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    mp = MediaPlayer.create(this, R.raw.my_sound_file);  
    mp.seekTo(startFrom);
    mp.start();

    Handler handler = new Handler();
    handler.postDelayed(stopPlayerTask, endAt);
}
Run Code Online (Sandbox Code Playgroud)

媒体播放器将开始播放6秒钟并在此后11秒暂停(第二个17秒).