var player1 = document.getElementById('live-video');
if (flvjs.isSupported()) {
var flvPlayer = flvjs.createPlayer({
type: 'flv',
isLive: true,
url: 'http://localhost:81/live?app=live&stream=1'
},{
enableStashBuffer:false,
isLive:true,
autoCleanupSourceBuffer:true
});
flvPlayer.attachMediaElement(player1);
flvPlayer.load();
flvPlayer.play();
}
这个问题可能与你的视频缓冲有关。对于这个问题,可以尝试以下几种解决方案:
调整视频缓冲的大小。可以通过以下方式:
flvPlayer.config({
autoCleanupSourceBuffer:true,
stashInitialSize: 128,
enableWorker: true,
enableStashBuffer: true,
stashBufferSize: 512,
bufferLive: true
});
其中,stashInitialSize表示初始缓冲长度,stashBufferSize表示缓冲总长度。可以适当调整这两个参数的值。
清除源缓冲区。可以在播放器停止时清除源缓冲区,在播放时重新加载源文件。可以通过以下方式:
flvPlayer.unload();
flvPlayer.detachMediaElement();
flvPlayer.attachMediaElement(player1);
flvPlayer.load();
flvPlayer.play();
确保你的视频文件是可用的,并且没有任何问题。如果视频文件本身存在问题,则无论你如何调整缓冲区,问题都无法解决。
你看看这个 我测试是通过的了 里面有属性可以监听到的
<video id="liv" muted="true" autoplay="">
<source src="../html5和css3/music/20230426-175543.Ogg">
</source>
</video>
<script>
var liv = document.getElementById("liv");
liv.addEventListener('timeupdate', (event) => {
// console.log(event);
if (event.timeStamp >= 3100) {
liv.pause();
}
});
</script>