错误时触发VideoView onCompletion事件

时间:2013-02-13 15:34:31

标签: java android listener android-mediaplayer android-video-player

我正在创建一个在VideoView内播放的视频列表。

我想抓住“抱歉,此视频无法播放”错误,然后转到下一个视频。视频切换在onCompletionListener内完成。

我已经从here获得了onErrorListener的代码,但我找不到如何触发“视频已完成”事件。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您可以在onErrorListener中执行相同的操作,就像在onCompletionListener中一样 在onCompletion你把视频设置为下一个(不知何故,我不知道你的实现)然后在错误中使用相同的代码(最有可能重构为另一个函数)。 EG:

onError(....)
    if(error = watever error you need)
    functionNextVideo()

请注意以上是伪代码。

但除了onCompletionListener之外,除非视频按预期完成,否则不会触发。

答案 1 :(得分:1)

在公共接口OnErrorListener的源代码中找到:

@return True if the method handled the error, false if it didn't.
         * Returning false, or not having an OnErrorListener at all, will
         * cause the OnCompletionListener to be called.
         */
        boolean onError(MediaPlayer mp, int what, int extra);

所以如果你返回false或者你没有处理回调,那么将调用onCompletionListener。