作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在开发的应用包含许多短视频(1-2 秒)。
视频显示在一个 Activity 中。用户可以重播视频(可能在播放视频时)或更改实际视频。
部分代码修改视频:
String videoPath = getVideoPath();
videoView.setVideoPath(videoPath);
videoView.start();
这 3 行已经导致应用加载新视频并播放它。
问题在视频完成后出现。从这一点开始,加载新视频会导致很多问题(比如有时半部电影只播放声音,而屏幕是黑色的)。重播视频也有类似的问题(我最终从上面调用了 3 个 channel )。
似乎 android 在完成电影后释放资源或类似的东西(这就是为什么我设置相同的路径,当我想重播视频时)。
理想情况下,我希望视频在播放结束后简单地暂停并 seekTo 到电影的开头(但我不能在 OnCompletedListener 中执行此操作,因为它已经将状态更改为停止...)。
我能以某种方式实现吗? (我的意思是 -> 完成视频暂停后,seekTo 开始)
我已经尝试了暂停视频、暂停视频、设置 OnPreparedListener、设置 OnCompletedListener 的所有组合。
谢谢!
最佳答案
尝试类似的东西
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer arg0) {
mVideoView.start();
}
});
mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mp.reset();
mVideoView.setVideoPath(file.getAbsolutePath());
mVideoView.start();
}
});
关于Android - 在 videoView 中更改/重播视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13975108/
我是一名优秀的程序员,十分优秀!