【问题标题】:Using VideoView, how to remove "can't play this video" alert message?使用 VideoView,如何删除“无法播放此视频”警告消息?
【发布时间】:2018-09-10 01:27:25
【问题描述】:

我们的应用播放一组视频,有时我们会收到无法播放此视频的警告消息。

如果该视频尚未下载,我们正在播放来自 SD 卡的视频或流式传输。大多数情况下,在互联网连接速度较慢的情况下进行流式传输时会出现错误。

通过阅读一些帖子和博客,我了解了导致此错误的几个原因。

但是,现在我想在发生错误时播放下一个视频而不显示该错误消息。

我为此使用了下面的监听器,

video.setOnErrorListener(new OnErrorListener() {

            @Override
            public boolean onError(MediaPlayer mp, int what, int extra) {
                Log.d("video", "setOnErrorListener ");
                return false;
            }
        });

出现错误时调用方法,但无法停止显示该警报消息。

有什么方法可以停止显示该警报消息?

提前致谢。

【问题讨论】:

  • 在此post 的选定答案中添加onPreparedListener() 可能会对您有所帮助。

标签: android video alert android-videoview


【解决方案1】:

返回false 或根本没有OnErrorListener 将导致OnCompletionListener 被调用。

所以从函数返回true而不是false,不会显示错误,即

video.setOnErrorListener(new OnErrorListener() {
    @Override
    public boolean onError(MediaPlayer mp, int what, int extra) {
        Log.d("video", "setOnErrorListener ");
        return true;
    }
});

欲了解更多信息,请参阅Android Document

【讨论】:

  • 仍然收到警报消息
  • 工作愉快。我发现这对于在某些版本的 Android 上播放 MP4 文件会引发此错误的模拟器来说是一个很好的修复。有问题的 MP4 文件被用作启动屏幕。
  • 如何防止显示“无法播放此视频”警告消息?我的意思是视频将如何播放并且不会显示警报消息?它只是不显示警报消息。
猜你喜欢
  • 2018-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-07
  • 1970-01-01
  • 2021-01-16
相关资源
最近更新 更多