首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓-在videoView中更改/重放视频

安卓-在videoView中更改/重放视频
EN

Stack Overflow用户
提问于 2012-12-20 23:11:54
回答 4查看 15.9K关注 0票数 7

我正在开发的应用程序包含许多短(1-2秒)视频。

视频将在一个活动中显示。用户可以重放视频(可能在播放视频时)或更改实际视频。

代码更改视频的一部分:

代码语言:javascript
复制
String videoPath = getVideoPath();
videoView.setVideoPath(videoPath);
videoView.start();

这3行已经导致应用程序加载新视频并播放它。

视频完成后开始出现问题。从这一点来看,加载新的视频会导致许多问题(比如有时对于半部电影,只有声音被播放,而屏幕是黑色空白的)。在重放视频时也有类似的问题(我最终从上面调用了3个通道)。

它看起来像是android在完成电影发布资源或类似的东西(这就是为什么我设置相同的路径,当我想要重放视频时)。

理想情况下,我希望视频在完成播放后可以简单地暂停并停止电影(但我不能在OnCompletedListener中做到这一点,因为它已经将状态更改为seekTo ...)。

我能以某种方式实现这一点吗?(这里我指的是在完成视频暂停后的->和开始时的seekTo )

我已经尝试了暂停视频的所有组合,暂停它们,设置OnPreparedListener,设置OnCompletedListener。

谢谢!

EN

回答 4

Stack Overflow用户

发布于 2012-12-20 23:50:33

试试像这样的东西

代码语言:javascript
复制
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();
    }
});
票数 10
EN

Stack Overflow用户

发布于 2015-02-08 23:05:51

停止播放、更改视频路径、启动视频

代码语言:javascript
复制
videoView.stopPlayback();
videoView.setVideoPath(newVideoPath);
videoView.start();
票数 2
EN

Stack Overflow用户

发布于 2012-12-21 17:21:14

我以如下方式重构了我的代码:每次我需要新的视频时,我都会重新加载整个活动。它在大多数情况下都是有效的,但现在在播放开始时视频变黑了,有时我会得到“无法打开媒体文件”的错误。

是不是跟android的资源管理有关?我在onCompletionListener中发布mediaPlayer。

有没有人在播放许多外部存储的视频时遇到过这样的问题?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13975108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档