【问题标题】:Using javascript to check if m3u8 live stream is active使用 javascript 检查 m3u8 直播是否处于活动状态
【发布时间】:2018-04-01 16:41:32
【问题描述】:

问题

我有一个调用 m3u8 直播流的 TVML 应用程序。问题是,如果流未激活,视频播放器会抛出无法自定义的错误消息。我想要做的是在尝试播放之前检查流是否是实时的。有没有办法可以在 javascript 中实现这一点?

错误:

(更新)

TVJS 播放错误事件返回代码为 -1008 的 IKJSError,描述:资源不可用和域:NSUrlErrorDomain。此错误还有一个基础错误(也称为 IKJSError),代码为 -12884,描述:“操作无法完成。 (CoreMediaErrorDomain 错误 -12884 - 未收到播放列表文件)”。

问题是当收到此错误时,播放器会立即在电视上显示我无法替换的错误消息。这就是为什么我想在尝试播放之前检查流是否处于直播状态。

【问题讨论】:

  • 抛出的错误是什么?
  • 刚刚用从playbackError事件收到的错误更新了问题。
  • 你能在 stacksn-ps 重现问题吗?

标签: javascript live-streaming m3u8 tvml


【解决方案1】:

使用这个:

async function checkHLSActive(url) {
    try {
        let res = await axios.head(url);
        return /2\d\d/.test('' + res.status);
    } catch (err) {
        console.log('err', url, err);
        return false;
    }
}

不要忘记将 axios 库导入到您放置的任何位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-07
    • 2020-01-11
    • 2019-12-10
    • 1970-01-01
    • 2012-06-02
    • 2014-05-24
    • 2013-04-06
    • 1970-01-01
    相关资源
    最近更新 更多