2016-01-12 4 views
0

мне нужно что VideoView получить паузе и Кнопка на нем получить VISIBLE состояние, когда videoView.getCurrentPosition() == SPECIFIC_TIME (например, 15000 миллисекунд).андроид - пауза VideoView программно в данный момент времени

Я нашел несколько решений с использованием Таймера или postDelayed но они не хорошо для меня, потому что видео приостановлено при наличии вызова дохода или просто заперев смартфон, но Таймера продолжается и поэтому кнопка может появиться раньше, чем мне нужно. Кроме того, я нашел решение с AsyncTask, но не может проверить videoView.getCurrentPosition() в doInBackground.

Как правильно его решить?

ответ

0

Здесь код одного решения:

videoView.requestFocus(); 
videoView.start(); 
while (videoView.getCurrentPosition() < (mSec-20)) { //mSec is the stop time 
    textView1.setText(getMilliToString(videoView.getCurrentPosition())); 
    // update time display 
} 
videoView.pause(); 

Другим решением является доступ к MediaPlayer от onPrepared способа VideoView, а затем установить OnSeekCompleteListener см код по адресу: http://developer.samsung.com/technical-doc/view.do;jsessionid=0wJHWmGpLQFG7RYQLhP1D7VVLLyPl4lNyx1LmVDZMQ1QvRJK12WH!-2094516650?v=T000000092