【发布时间】:2015-06-30 14:35:09
【问题描述】:
正如许多混合应用程序开发人员所知,Apple 已决定禁止在 JavaScript 中设置 HTML5 视频元素的音量属性。这也相当于 muted 属性。静音视频的概念在滚动到视图时自动播放,并且可以选择取消静音,这一概念越来越受欢迎(由 Vine、Facebook 等率先推出)。我试图找到一种方法来解决这个设计限制。从我能读到的关于这个主题的内容来看,没有任何黑客或解决方案可以解决我的这个设计要求。
到目前为止,这是我的想法:
我可以将视频中的音频拆分为单独的流,并在用户点击时将当前时间与视频同步并调用 play()。但是,iOS Safari/UiWebView 不支持同步音频/视频流。因此,这根本不是一种选择。
我可以对两个视频进行编码,一个有声音,一个没有。然后我可以随时交换 src。但是,这需要重新加载整个流,并且所需的数据量也几乎翻了一番。延迟很明显。因此,这不是一个可行的解决方案。
我可以在 web 视图中嵌入原生 AVPlayer 类元素。但是,这将是一个覆盖,并且无法从 web 视图中进行管理。来自 dom 的自定义控件和 UI 交互是不可能的。因此,这不是一个选择。
我可以简单地禁用应用程序的输出,并在用户点击视频元素时动态地打开它。但是,据我所知,这是不可能的。我可以展示本机软件音量滑块,但这会破坏整个事情的目的。
您对这个限制有什么建议或方法吗?
【问题讨论】:
标签: ios html cordova video volume