两个都在代码中工作。 应该使用哪个?
广播流会被认为是什么? http://hi5.1980s.fm/;
可以播放
https://jsfiddle.net/vhgL96se/142/
当用户代理可以播放媒体时,会触发canplay事件,但是 估计未加载足够的数据来播放媒体 它的结束而不必停止进一步缓冲内容。
浏览器可以播放媒体,但是估计没有足够的数据 已加载以播放媒体直到结束而不必停下来 内容的进一步缓冲。
player.oncanplay = function () {
if (value.value !== "") {
canPlay = true;
playPauseIcon(true);
}
};
oncanplaythrough
https://jsfiddle.net/vhgL96se/144/
当用户代理可以播放canplaythrough事件时,将触发该事件 媒体,并估计已加载足够的数据来播放媒体 直至结束,而不必停止进一步缓冲内容。
浏览器估计它可以播放媒体直到最后而不会 停止内容缓冲。
player.oncanplaythrough = function () {
if (value.value !== "") {
canPlay = true;
playPauseIcon(true);
}
};
答案 0 :(得分:1)
您可以使用oncanplay
。但是在某些网络浏览器中,它并不可靠,因此通常人们会同时使用这两种事件。
由于readyState
确实发生更改时都会触发两个事件,因此您可以使用player.readyState
来确定当前状态,并决定在设置侦听器之前发生事件时该怎么办。
答案 1 :(得分:0)
oncanplaythrough
是浏览器的估计,表明已经加载了足够的媒体以能够一直播放。
oncanplay
是指是否已装入任何媒体,但可能会导致播放混乱。
两者均可用于触发播放,但可以推断出不同的含义。 MDN是一个很好的澄清资源。
https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/oncanplaythrough
https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/oncanplay