使用javascript检查m3u8直播是否处于活动状态

时间:2017-10-20 13:35:40

标签: javascript live-streaming m3u8 tvml

问题

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

错误:

(更新)

  

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

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

1 个答案:

答案 0 :(得分:0)

使用此:

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库导入到您放置的位置。