我正在创建一个在VideoView
.
我想捕捉“抱歉,无法播放此视频”错误,然后继续观看下一个视频。视频切换在onCompletionListener
.
我已经onErrorListener
从这里获得了 an 的代码,但我找不到如何触发“视频完成”事件。
有任何想法吗?
我正在创建一个在VideoView
.
我想捕捉“抱歉,无法播放此视频”错误,然后继续观看下一个视频。视频切换在onCompletionListener
.
我已经onErrorListener
从这里获得了 an 的代码,但我找不到如何触发“视频完成”事件。
有任何想法吗?
您可以在 onErrorListener 中执行与在 onCompletion 中的 onCompletionListener 中相同的操作,您将视频设置为下一个(不知何故,我不知道您的实现),然后在出错时使用相同的代码(最有可能重构为另一个函数)。例如:
onError(....)
if(error = watever error you need)
functionNextVideo()
注意上面是伪代码。
但除此之外,除非视频按预期完成,否则不会触发 onCompletionListener。
在公共接口 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 或者你不处理回调。