JavaScript视频播放器顺序事件处理:pause后触发play的continue功能实现疑问
结论
你提供的代码无法实现continue功能。
原因说明
你写的链式事件绑定逻辑是分别给pause、play两个独立事件绑定回调,其中play事件的回调会在每一次播放触发时执行,不会校验前序操作是不是pause,不符合你定义的「pause之后触发的play才是continue」的要求。
正确实现方案
你可以引入一个状态变量标记上一次操作是否为暂停,示例代码如下:
// 定义状态变量,标记上一次操作是否为pause let lastOpIsPause = false // 原有pause事件回调调整 videoPlayer.on('pause', function () { lastOpIsPause = true // pause video原有逻辑 }) // 原有play事件回调调整 videoPlayer.on('play', function () { if (lastOpIsPause) { // 这里写continue对应的逻辑 lastOpIsPause = false // 执行完重置状态 } // play video原有逻辑 })
内容的提问来源于stack exchange,提问作者superninja
相关产品推荐
相关产品推荐

