当播放器失去与流的连接时,如何停止显示网络错误消息并只是自动重新加载播放器?
我正在为此播放器使用HLS流:MediaElementJS
我在博客中找到了此解决方案,但对我而言,这不是最佳选择,而且可能很难在24小时内设置私有代理。 这可以通过运行应用内代理从外部解决。我将播放器放在包装中,该包装也启动了HTTPListener。然后,我不给MediaElement http://server.com/file.m3u8,而是将此URL重写为http://localhost:58392/http/80/server.com/file.m3u8。 FFmpeg使用请求命中代理,然后代理解析请求中的URL,获取内容并将其返回给ffmpeg。
这是我在js中的播放器配置:
<script>
$("video").mediaelementplayer({
features: ["playpause", "volume", "progress", "airplay", "chromecast", "fullscreen"],
forceLive: true
});
playerObject = document.getElementById("player");
</script>
答案 0 :(得分:0)
解决方案包括两个步骤:
首先,您需要附加一个事件,以通知您正在创建的玩家:
$("video").mediaelementplayer({
features: ["playpause", "volume", "progress", "airplay", "chromecast", "fullscreen"],
forceLive: true,
success: playerReady
});
现在,在创建播放器之后,您可以附加到播放器的“结束”事件:
function playerReady(media, node, player) {
media.addEventListener('ended', function(e) {
//Do what you want, e.g. reload the page
});
}