【发布时间】:2010-12-23 07:11:20
【问题描述】:
我已经实现了以下代码,以测试通过其 URL 从远程 Web 服务器播放视频。
videoView = (VideoView)this.findViewById(R.id.videoView);
MediaController mc = new MediaController(this);
videoView.setMediaController(mc);
videoView.setVideoURI(Uri.parse("http://sayedhashimi.com/downloads/android/movie.mp4"));
videoView.requestFocus();
代码运行良好,即使在 Android 模拟器中也是如此。我只是想知道是否有任何侦听器(或处理程序)来检测正在复制的视频的结束?
更新:
我现在有以下代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.player);
videoView = (VideoView)this.findViewById(R.id.videoView);
playVideo();
// video finish listener
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// not playVideo
// playVideo();
mp.start();
}
});
}
public void playVideo() {
MediaController mc = new MediaController(this);
videoView.setMediaController(mc);
videoView.setVideoURI(Uri.parse("http://sayedhashimi.com/downloads/android/movie.mp4"));
videoView.requestFocus();
}
刚刚调用活动时,视频可以正常工作,但是当视频结束时,我希望它再次播放,但它没有发生。
【问题讨论】:
-
不要调用
playVideo(),而是尝试调用mp.start() -
是的,我已经在我的代码中替换了它。谢谢大家的帮助!最好的问候!
-
没问题,很高兴能帮上忙。也向您致以最诚挚的问候:)
标签: android media-player