runtime-error - 如何解决 Jwplayer 在搜索时抛出错误并允许播放器从存储的本地时间加载
问题描述
我们正在尝试从本地存储中的存储时间获取我们的播放器负载。
我们不断收到此错误
“beforePlay”事件处理程序中的错误:TypeError:无法访问属性“seekRange”,m 为空
加载的代码如下:
let time = parseFloat(this.stored_time);
jwplayer().on('ready', function(e) {
jwplayer().on('beforePlay', function(e) {
jwplayer().seek(time);
})
})
在准备就绪功能中,播放器应该准备好了。
在 beforePlay 块上的 play() 中有效,因此全局 jwplayer 函数可用
jwplayer().on('beforePlay', function(e) {
jwplayer().play();
})
在 this.stored_time 中,它的值类似于 1743.616545。我已经尝试将类型转换为 Int 但没有区别 jwplayer().seek(time) 抛出上面的错误。
最初我尝试只使用 on ready 处理程序;当 jwplayer().seek(time) 运行时,播放器崩溃了。
关于如何解决这个问题的任何想法?
问候,史蒂夫
解决方案
感谢阿莫尔奈克的回复!
我最终通过以下方式解决了这个问题:
// This occurs just before play, so using play() just initiates this step
// slightly earlier; a better user experience
jwplayer().on('beforePlay', function(e){
jwplayer().play().seek(stored_time).pause();
jwplayer().pause();
utils.losChangeColours(stored_time);
})
如果在 paused() 状态下使用 seek() 会抛出错误;它必须播放()。所以做 jwplayer().play().seek(time).pause() 它将平滑地设置存储的时间而不会出现缓冲。
希望这对其他人有帮助。
史蒂夫
推荐阅读
- python - 如何在 CentOS8 上安装 Ansible
- unit-testing - 如何测试运行命令的 Go 函数?
- scala - 如何使用 sbt 或 Metals 从 vscode 开发和运行 spark scala
- django - 如何使用 Django 测试 Internet 连接?
- typescript - 具有匹配的通用回调的类型函数
- ios - 控制器在 iOS 13 中呈现模式时的 UINavigationBar 高度
- android - 在没有应用商店或 Play 商店的 iPhone 和 Android 上安装我的应用
- sql - 查找记录数的比率
- reactjs - 如何在反应选择中制作api
- node.js - 生成 React 应用程序时使用的不同 NPM 版本