react-native - React Native Android WebView Vimeo 播放器控制栏消失

标签 react-native android-webview vimeo-player vimeo-android

所以我在 Android 上的 React Native WebView 上遇到了问题,其中包含 Vimeo 视频的页面将加载并且我可以播放视频,但控件最终会消失,此后我将无法控制(暂停等)。

我做了一些调试并找到了一个(hacky)解决方案,所以我想分享我的发现:

最佳答案

以下是我的发现:

  1. WebView 的控制台上有一条警告,显示在 player.js 的第 18 行位于https://f.vimeocdn.com/p/2.68.16/js/player.js :
    [Deprecation] 'HTMLVideoElement.webkitSupportsFullscreen' is deprecated. Please use 'Document.fullscreenEnabled' instead. 当问题将会/确实发生时。

  2. 更改用户代理会停止显示此警告,并且不会出现此问题。

  3. 包含术语 Android 的用户代理似乎导致了这个问题。例如,我的用户代理是 Mozilla/5.0 (Linux; Android 7.1.1; ONEPLUS A5000 Build/NMF26X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36但是当我删除Android时从它来看,它工作得很好。

考虑到这一点,设置用户代理就像 " " 一样简单也解决了这个问题(尽管不推荐)。

所以对我来说,这似乎是由实际的 Vimeo 播放器代码(不在这个库中)引起的问题,它似乎使用用户代理做了很多事情。 如果我们能够从熟悉 player.js 的人那里获得一些见解,那就太好了.

关于react-native - React Native Android WebView Vimeo 播放器控制栏消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48831109/

相关文章:

android - 如何在 webview 中禁用与 html5 视频的交互或正确捕获它们的异常?

android - 需要在 Android WebView 中访问相机的权限吗?

angular - vimeo/player.js - 无法读取未定义的属性 'nativeElement'

ios - 为什么 vimeo HTML 播放器会中断我的应用程序 Audio Session ?

android - 如何在 WebView 周围添加填充

http - Vimeo 嵌入式视频在 HTTPS 页面上发送 HTTP 请求

android - 如何在 Linux 上的 React Native 中使用 gradle 解决此错误?

reactjs - 使用 TS 在 RN 中设置类型

react-native-navigation 底部标签样式

android - 试图刷掉 native FlatList 中的项目但没有收到 onResponderTerminationRequest 事件