Android 有没有办法检测videoview上的实时流缓冲是否停止?

Android 有没有办法检测videoview上的实时流缓冲是否停止?,android,Android,我想检查应用程序流(实时流)是否正在缓冲或停止。在播放视频时,他们是否可以通过任何方式收听错误。我试过onErrorListner,但如果第一次出现任何错误,它将被检测到。我将分两部分回答您的问题 我想检查应用程序流(直播)是否正常 缓冲或停止 您可以使用VideoView.SetOnInfo Listener(MediaPlayer.onInfo Listener l)在重写的onInfo(MediaPlayer mp,int what,int extra)方法中接收以下事件 onInfo()

我想检查应用程序流(实时流)是否正在缓冲或停止。在播放视频时,他们是否可以通过任何方式收听错误。我试过onErrorListner,但如果第一次出现任何错误,它将被检测到。

我将分两部分回答您的问题

  • 我想检查应用程序流(直播)是否正常 缓冲或停止
  • 您可以使用VideoView.SetOnInfo Listener(MediaPlayer.onInfo Listener l)在重写的onInfo(MediaPlayer mp,int what,int extra)方法中接收以下事件

    onInfo()的“int what”参数的媒体信息缓冲开始和媒体信息缓冲结束

    更多活动,请看这里

    现在是第二部分

    在播放视频时,他们是否可以通过任何方式收听错误。我有 已尝试onErrorListner,但在测试过程中如果出现任何错误,则会检测到打开 第一次

    如果您在这里查看Media Player的状态图

    您会发现,在Media Player进入“错误状态”后,它不会移动到任何其他状态,这种状态可能会出现,原因如下:

  • 不支持的音频/视频格式
  • 音频/视频交错性差
  • 分辨率太高
  • 流超时等
  • 有时,由于编程错误
  • 在所有这些错误条件下,内部播放器引擎调用用户提供的OnErrorListener.onError()方法

    从这种情况和恢复过程中需要注意的要点可以列举如下:

  • 重要的是要注意,一旦发生错误,MediaPlayer对象将进入错误状态(如上所述除外),即使应用程序尚未注册错误侦听器
  • 为了重用处于错误状态的MediaPlayer对象并从错误中恢复,可以调用reset()将对象恢复到空闲状态
  • 引发IllegalStateException是为了防止编程错误,例如在无效状态下调用prepare()、prepareAsync()或重载的setDataSource方法之一 您可以通过此链接获得有关媒体播放器的所有状态和正确处理的更多信息

    享受吧

    非常感谢……)那真的很有帮助