Javascript Flowplayer将不会重新加载流错误
我在我的系统上使用Flowplayer进行实时流。如果Flowplayer最初加载时没有实时流,我希望播放器以一定间隔重新加载,以重新检查实时流,并在获取实时流时重新加载Flowplayer 我找到了以下资源: 虽然它不完全适合我。这是我的密码:Javascript Flowplayer将不会重新加载流错误,javascript,flowplayer,Javascript,Flowplayer,我在我的系统上使用Flowplayer进行实时流。如果Flowplayer最初加载时没有实时流,我希望播放器以一定间隔重新加载,以重新检查实时流,并在获取实时流时重新加载Flowplayer 我找到了以下资源: 虽然它不完全适合我。这是我的密码: <div id="mediaspace_wrapper" style="position: relative; width:100%;"> <div style="paddi
<div id="mediaspace_wrapper" style="position: relative; width:100%;">
<div style="padding-top: 56%;"></div>
<div id="mediaspace" class="playerstyle fp-edgy fp-slim fp-mute"></div>
</div>
<script>
player = flowplayer(mediaspace, {
autoplay: true,
fullscreen: true,
native_fullscreen: true,
embed: false,
share: false,
allowsInlineMediaPlayback: true,
hlsjs: {
xhrSetup: function (xhr, url) {
var isPlaylist = url.lastIndexOf(".m3u8") === url.length - 5;
xhr.addEventListener("error", function () {
if (isPlaylist) {
// intentionally throw Network error
player.trigger("error", [player, {code: 2}]);
}
});
xhr.addEventListener("readystatechange", function (e) {
var xstatus = e.currentTarget.status;
if (isPlaylist && xhr.readyState === 4 && xstatus >= 400 && xstatus < 499) {
// intentionally throw Video file not found error
player.trigger("error", [player, {code: 4}]);
}
});
}
},
clip: {
live: true,
sources: [
{
type: "application/x-mpegurl",
src: "https://5d00db0e0fcd5.streamlock.net:443/7410/7410/playlist.m3u8"
}
]
}
}).on("error", function (e, api, err) {
if (err.code === 4 || err.code === 9) {
mediaspace.innerHTML = "<h3 style='text-align:center;'>is it stopped?</h3>";
var delay = 20;
var timer = setInterval(function () {
delay -= 1;
if (delay == 0) {
clearInterval(timer);
api.error = api.loading = false;
api.load();
}
}, 1000);
}
});
</script>
播放器=flowplayer(mediaspace{
自动播放:对,
全屏:对,
本机全屏显示:正确,
错,,
分享:错,
allowsInlineMediaPlayback:true,
hlsjs:{
xhrSetup:函数(xhr,url){
var isPlaylist=url.lastIndexOf(“.m3u8”)==url.length-5;
xhr.addEventListener(“错误”,函数(){
如果(显示列表){
//故意抛出网络错误
触发器(“错误”,[player,{code:2}]);
}
});
xhr.addEventListener(“readystatechange”,函数(e){
var xstatus=e.currentTarget.status;
如果(isPlaylist&&xhr.readyState==4&&xstatus>=400&&xstatus<499){
//故意抛出未找到视频文件错误
触发器(“错误”,[player,{code:4}]);
}
});
}
},
剪辑:{
现场直播:没错,
资料来源:[
{
类型:“应用程序/x-mpegurl”,
src:“https://5d00db0e0fcd5.streamlock.net:443/7410/7410/playlist.m3u8"
}
]
}
}).on(“错误”,函数(e、api、err){
如果(err.code==4 | | err.code==9){
mediaspace.innerHTML=“它停止了吗?”;
无功延迟=20;
变量计时器=设置间隔(函数(){
延迟-=1;
如果(延迟==0){
清除间隔(计时器);
api.error=api.load=false;
api.load();
}
}, 1000);
}
});
查看Chrome上的“inspect>>network”(检查>>网络)将显示流数据已恢复,但一旦流恢复,视频播放器将不会加载并开始播放
我错过了什么