Android MediaPlayer错误反馈

Android MediaPlayer Error Feedback

我在我的代码中使用 MediaPlayer 来播放视频。

这是代码:

mp.setDataSource(source);
mp.setOnCompletionListener(this);
mp.setOnErrorListener(this);
mp.prepareAsync();

在某些情况下视频没有播放(如果我调用 mp.getDuration(); 我会失败)而不是得到 OnError 反馈我得到 OnCompletion 反馈,我可以'知道有没有问题。

有时我会调用 OnError 函数。

知道如何检查媒体播放器是否在 OnCompletion 函数中失败了吗?

根据文档, onErrorListener returns:

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.

所以当 onError return 为 false 时,您的 onCompletion 被调用。

您对 onErrorListener 的实现应该 return 为真以避免调用 onCompletion