javascript - 回调使用 video.js 缓冲的百分比
问题描述
如果视频(使用 video.js 播放)被(比如说)缓冲 50%,我如何创建回调函数?
有 myPlayer.bufferedPercent() 方法,我在下面的代码中一直在使用它,它似乎有效,但回调显然会好得多。
function checkBuffered() {
if (videoPlayer.bufferedPercent()*100 > 50){
clearTimeout(bufferedTimeout);
$("bufferingText").hide();
$("instructionsText").show();
$('#feedback_keyPress').html(videoPlayer.bufferedPercent()*100);
}
bufferedTimeout = setTimeout(checkBuffered, 1000 / FPS);
}
我借了一把可能有帮助的小提琴
解决方案
根据 video.js 的文档,播放器已经触发了该progress
事件:
https://docs.videojs.com/player#event:progress
下载媒体时触发该progress
事件。因此,它应该是这样的:
videoPlayer.on('progress', checkBuffered);
function checkBuffered () {
var buffPerc = videoPlayer.bufferedPercent();
// rest of your code without setTimeout/setInterval
}
推荐阅读
- xamarin.forms - 如何让应用程序等到 OnAppearing 完成?
- python - 如何根据python中另一个Dataframe中的值更改Dataframe中的字段
- nsurlsession - nsurlsession 内部和后台传输
- tableau-api - 如何计算总数的百分比
- c# - 如何在文件持续更新时跟踪文件中的行号
- validation - Kotlin 验证 edittext 的条目和长度
- visual-studio - 最近的 Visual Studio 更新引入了用于在我的键盘上创建右花括号的快捷方式:如何找到有问题的命令?
- bash - 递归地重命名当前目录中文件路径的某些部分
- arrays - numpy数组到字节数组的转换
- r - 使用 lapply 和子集的子集数据框