【问题标题】:Android VideoView not playing sequential videosAndroid VideoView 不播放连续视频
【发布时间】:2012-10-12 02:45:46
【问题描述】:

我想连续播放 2 个视频。第一个视频总是播放得很好。完成后,您可以在日志中看到它设置了新的视频 URL,但是 SurfaceView 会抛出错误,并且 VideoView 只是冻结在第一个视频的最后一帧。没有其他事情发生。 有什么想法吗 ?谢谢!

LE:令人惊讶的是,第二个视频调用了 OnPreparedListener。

LE2:有时第二个视频播放得很好,有时却没有……而且我没有在它工作的时候和不工作的时候改变一行代码。纯属随机……

LE3:快速解决方案是在设置新视频 URL 之前添加此行:

mVideoView.setVisibility(View.GONE);

来自 OnCompletionListener 的代码:

setCurrentPlaybackUrl(); // sets mCurrentMediaUrl to the second video URL
mVideoView.setVideoPath(mCurrentMediaUrl);
mVideoView.start();

这是第一个视频播放完毕时的日志输出:

10-22 12:32:35.762: I/AwesomePlayer(126): setDataSource_l('https://xx/TestingVideo_lo.mp4')
10-22 12:32:35.762: E/BufferQueue(123): [SurfaceView] connect: already connected (cur=3, req=3)
10-22 12:32:35.762: E/MediaPlayerService(126): setVideoSurfaceTexture failed: -22
10-22 12:32:35.762: E/BufferQueue(123): [SurfaceView] connect: already connected (cur=3, req=3)
10-22 12:32:35.762: E/MediaPlayerService(126): setVideoSurfaceTexture failed: -22

【问题讨论】:

    标签: android surfaceview android-videoview


    【解决方案1】:

    尝试onCompletion(MediaPlayer mp),添加mp.stop(),然后做你的事情。

    编辑:我已经尝试过了,它正在工作:

    videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer mp) {
           play_video();
    }
    });
    
    play_video();
    

    其中play_video 是以下方法:

    void play_video() {
        Uri uri = Uri.parse(video_link);
        videoView.setVideoURI(uri);    
        videoView.requestFocus();
        videoView.setVisibility(View.VISIBLE);
        videoView.start();
    
     }
    

    唯一的区别是我播放了两次相同的视频,而不是两个不同的视频。

    【讨论】:

    • 有时第二个视频播放得很好,有时却没有……而且我没有在它工作和不工作之间更改一行代码。这纯粹是随机的......
    • 0/3 次成功尝试使用 2 个不同的 URL。 1/3 成功尝试使用相同的 URL。我要疯了……
    • 等等,我想我成功了。 videoView.setVisibility(View.GONE);是罪魁祸首。
    • 它有效。至少现在:) 非常感谢!如果在不久的将来有任何机会失败,我会回来的。祝你有美好的一天!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 2013-05-18
    • 2015-07-15
    相关资源
    最近更新 更多