2

我正在创建一个在VideoView.

我想捕捉“抱歉,无法播放此视频”错误,然后继续观看下一个视频。视频切换在onCompletionListener.

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

有任何想法吗?

4

2 回答 2

2

您可以在 onErrorListener 中执行与在 onCompletion 中的 onCompletionListener 中相同的操作,您将视频设置为下一个(不知何故,我不知道您的实现),然后在出错时使用相同的代码(最有可能重构为另一个函数)。例如:

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

注意上面是伪代码。

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

于 2013-02-13T16:15:44.260 回答
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);

所以 onCompletionListener 将被调用,如果你返回 false 或者你不处理回调。

于 2014-08-08T11:21:51.337 回答