我有一个TVML应用程序,可以调用m3u8直播。问题是如果流未激活,则视频播放器会抛出无法自定义的错误消息。我想要做的是在尝试播放之前检查流是否有效。有没有办法在javascript中实现这个目标?
(更新)
TVJS playbackError事件返回IKJSError,代码为-1008,描述:资源不可用,域名为:NSUrlErrorDomain。此错误还有一个底层错误(也是IKJSError),代码为-12884,描述:“操作无法完成。 (CoreMediaErrorDomain错误-12884 - 未收到播放列表文件)“。
问题在于,当收到此错误时,播放器会立即在电视上显示我无法替换的错误消息。这就是为什么我想在尝试播放之前检查流是否有效。
答案 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库导入到您放置的位置。