最近RN项目中接入某在线直播 web sdk,直播视频播放,在 android 下无法全屏播放。原因是 React Native 的 android webview 无法默认支持网页全屏播放视频。
查询资料发现,可以通过第三方库 react-native-android-fullscreen-webview-video 来解决。 项目地址: https://github.com/teamairship/react-native-android-fullscreen-webview-video
用法:把 RN 的原生 WebView 引用修改为 'react-native-android-fullscreen-webview-video',如下:
import { WebView } from 'react-native';
// 替换成
import WebView from 'react-native-android-fullscreen-webview-video'; 然后其他用法和React native 用法一致。通过源码可以发现,该库在 ios 下使用 RN 的默认 WebView,在 android 下,通过原生代码对 WebView 增强,实现了网页播放视频全屏。部分代码如下:
## react-native-android-fullscreen-webview-video/index.js 文件 import { Platform } from 'react-native';
import androidWebView from './androidWebView';
import iosWebView from './iosWebView';
const CustomWebView = Platform.OS === 'ios' ? iosWebView : androidWebView;
module.exports = CustomWebView; ## react-native-android-fullscreen-webview-video/iosWebView.js 文件 import { WebView } from 'react-native';
export default WebView; 来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2718/viewspace-2805895/ ,如需转载,请注明出处,否则将追究法律责任。