【问题标题】:Videojs Playback rate menu button not showing in control barVideojs播放速率菜单按钮未显示在控制栏中
【发布时间】:2021-12-17 16:33:34
【问题描述】:

我对 videojs 还很陌生,但我将一个使用 videojs 的项目升级到 v7.17.0

在选项中定义播放速率

videojs(
    'my_video', 
    {
    techOrder: ["youtube"],
    playbackRates: [0.5, 0.75, 1],
    children: [
         "mediaLoader",
         "posterImage",
         "textTrackDisplay",
         "loadingSpinner",
         "bigPlayButton",
         "controlBar",
         "errorDisplay",
         "textTrackSettings",
         "resizeManager"
    ],
    sources: [
        {
             "type": "video/youtube",
             "src": 'video_url'
        }
    ],
    controlBar: {
         pictureInPictureToggle: false
    }
    }
)

这并没有在控制栏中添加播放速率菜单。所以我在浏览器控制台本身做了一些测试

player.controlBar.addChild('playbackRateMenuButton')
e {player_: o, isDisposed_: false, parentComponent_: t, options_: {…}, id_: 'my_video_component_5045', …}

这表明添加了菜单按钮,但控制栏本身仍然没有按钮。

我也尝试过使用 pictureInpicture 切换菜单,它确实将它添加到控制栏,但没有添加到播放速率菜单

有人知道解决这个问题的方法吗?

附:我尝试在 controlBar 选项中定义 playbackRateMenuButton: true 以及抛出 RangeError: Invalid array length

【问题讨论】:

标签: video.js


【解决方案1】:

这通常发生在视频标签中传递“数据设置”,在这种情况下,初始化时传递的选项不适用。从 HTML 中删除数据设置必须有效。

  <video
    id="my-video"
    class="video-js"
    controls
    preload="auto"
    width="640"
    height="264"
    data-setup="{}" // Remove this from code.
  >

【讨论】:

  • 我在 video 标签中没有 data-setup 属性。播放器的所有选项都是通过JS设置的
猜你喜欢
  • 2014-03-26
  • 2013-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-03
相关资源
最近更新 更多