检查 HLS Stream 是否已启动,如果未启动则显示错误消息?

Check if HLS Stream is Up and Show Error Message If Not?

有没有简单的方法来检查 HLS (M3U8) 流是否可用,如果不可用则显示错误消息?我正在使用以下代码播放 M3U8 流,但如果该流不可用,"Retrieving" 消息会无限期显示。

如果流未启动,我想立即显示错误。

sub onButtonSelected()
  'Ok'
  if m.ButtonGroup.buttonSelected = 0
    m.Video.visible = "true"
    m.Video.control = "play"
    m.Video.setFocus(true)
  'Add error message logic here if stream doesn't play

  'Exit button pressed'
  else
    m.Exiter.control = "RUN"
  end if
end sub

你应该观察视频播放器的状态。

sub onButtonSelected()
  'Ok'
  if m.ButtonGroup.buttonSelected = 0
    m.Video.visible = "true"
    ' This observer should not be set here because it will add new observer every time you
    ' select the button. For demonstration purposes only.
    m.video.observeField("state", "onVideoStateChanged")
    m.Video.control = "play"
    m.Video.setFocus(true)

  'Exit button pressed'
  else
    m.Exiter.control = "RUN"
  end if
end sub


sub onVideoStateChanged(event as Object)
    if event.getData() = "error"
        ' Show error dialog here
    end if
end sub

您还可以通过检查视频节点的 errorMsg/errorCode 字段来查看错误 message/code。