videojs-contrib-hls移动游猎中的bugginess

时间:2017-04-04 18:52:18

标签: javascript ios safari video.js hls

我有一个videojs播放器并使用videojs-contrib-hls

元素:

<video class="video-js vjs-default-skin vjs-big-play-centered" controls playsinline)

的javascript:

const player = videojs(element)
player.src({
  type: 'application/x-mpegURL',
  src: <hls-url>
})

player.on('error', (e) => {
  console.error(e)
})

player.on('loadeddata', () => {
  console.log('laodeddata')
})

在桌面游戏中,这种方法运行顺畅,一切都很好。在移动游猎中,我看到了以下问题:

  1. 播放器上显示全屏图标,点击全屏图标会使屏幕变满,然后立即折叠回内嵌。我尝试删除playsinline属性,但是当我这样做时,视频根本无法在移动版游戏中播放
  2. 点击播放按钮后约5次(几乎总是),视频正确开始播放,但它在第一帧冻结并卡住。没有错误的回调被触发,它只是卡住并且需要刷新。经过几次刷新后,它将实际播放并成功传输。

1 个答案:

答案 0 :(得分:0)

这里的问题是图书馆快速点击:https://github.com/ftlabs/fastclick

当用户点击“播放”按钮时,快速点击阻碍了,并且Mobile Safari引擎认为play()不是由用户手势启动的,因此Safari会自动暂停视频。

全屏幕操作也发生了相同的效果。