【问题标题】:Video.js: how to find out if the current device has native playback before initializing?Video.js:如何在初始化前判断当前设备是否有原生播放?
【发布时间】:2015-08-26 08:29:35
【问题描述】:

初始化播放器之前,有没有办法确定当前使用的设备是否会在带有 video.js 的原生控件上播放?

我正在开发一个灯箱解决方案,如果当前浏览器确实支持它,它应该只是在 iOS 和 Android 上本地播放视频。没有找到任何 API 挂钩或事件。

目前正在使用 video.js v5.0.0-rc63。

【问题讨论】:

    标签: javascript html html5-video video.js


    【解决方案1】:

    如果您只需要检查视频播放器是否使用自己的controls,则只需检查视频元素的controls 属性:

    if(document.querySelector('video').controls){
        // native
    }else{
        // videojs fallback
    }
    

    【讨论】:

    • 哇。那很简单。感谢您的提示!
    【解决方案2】:

    我从事过视频播放器方面的工作。 iOS 不允许通过外部库(通过代码)使用物理控件。但是如果你想限制或允许某些设备在这里是一些代码(jQuery),你可以检查它是什么类型的设备..

    if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
    // some code..
    }
    

    【讨论】:

    • 谢谢!遗憾的是,这并没有回答这个问题。我知道如何获得移动设备 - 但有些设备无法使用本机控件(如 Android 上的 Chrome)。所以我实际上正在寻找一种方法来确定是否会发生原生播放。
    • @mvmoay: 为此你必须在检查后进行硬编码检查
    • 是的,我想我必须这样做。但是怎么做? videojs中是否有可以告诉我设备播放行为的函数?
    • 为此,您必须开发一个将在加载时调用的函数来检查设备。我知道这很疯狂,但据我所知,您必须自己开发。 :)
    猜你喜欢
    • 2011-10-16
    • 2018-01-07
    • 2011-12-11
    • 1970-01-01
    • 2021-08-09
    • 2012-04-09
    • 2011-03-09
    相关资源
    最近更新 更多