3 回答

TA貢獻1993條經驗 獲得超6個贊
請使用“setOnCompletionListener”,并在完成視頻后再次開始視頻。
VideoView videoView;
MediaController controller;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
videoView=findViewById(R.id.videoView);
controller=new MediaController(this);
videoView.setMediaController(controller);
videoView.setVideoPath("http://strecker.co.za/ad_system/videos/video1.mp4");
videoView.start();
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
videoView.start();
}
});
}
}

TA貢獻1859條經驗 獲得超6個贊
嘗試這個:
videoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setLooping(true);
}
});

TA貢獻1772條經驗 獲得超8個贊
我不是 android 專家,但我建議在videoView.start()
.
如果有一個方法可以確定視頻是否已完成或當前正在運行,則這可能是再次調用VideoView
該方法的條件。start()
否則你可以看看start()
視頻正在播放時打電話是否有效果?是否拋出異常等?如果沒有,您可以每秒調用一次以在視頻結束后重播視頻。
如果所有其他方法都失敗,您可以在視頻播放期間start()
致電。Thread.sleep()
如果VideoView
有一個方法可以返回視頻的長度,您可以使用它,否則對該值進行硬編碼。
添加回答
舉報