Rui*_*ves 40 android media-player
我已实现以下代码,以测试通过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();
Run Code Online (Sandbox Code Playgroud)
代码工作正常,即使在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();
}
Run Code Online (Sandbox Code Playgroud)
当刚刚调用该活动时,视频工作正常,但是当视频完成时,我希望它再次播放,但它没有发生.
Ant*_*ney 42
好像你在找
setOnCompletionListener(MediaPlayer.OnCompletionListener l)
Run Code Online (Sandbox Code Playgroud)
可以在此处找到更深入的解释
这显示了可播放完成后,使用所谓的解决方案VideoView
,MediaController
以及setOnCompletionListener()
.
Imo*_*mon 19
这是我工作的代码块:
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener()
{
public void onCompletion(MediaPlayer mp)
{
// Do whatever u need to do here
}
});
Run Code Online (Sandbox Code Playgroud)
小智 15
vidView=(VideoView)findViewById(R.id.vidView);
vidView.setMediaController(null);
vidView.setVideoPath( "/mnt/external_sd/somerandommovie.3gp" );
vidView.start();
vidView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
vidView.start();
}
});
Run Code Online (Sandbox Code Playgroud)
我发现监听器正在触发,问题是mp.start()似乎没有做任何事情,所以再次调用原始对象的启动似乎工作正常.
归档时间: |
|
查看次数: |
47633 次 |
最近记录: |