使用带有世博视频组件的本机控件导致应用程序崩溃



嗨,我正在尝试将视频与 React Native 一起使用,并遇到了世博会视频组件(见 https://docs.expo.io/versions/v14.0.0/sdk/video.html(,当我使用 create-react-native-app 来设置我的应用程序时,我认为这将是一个不错的选择。但是,当我将"useNativeControl"添加到我的视频组件时,它会导致我的应用程序崩溃。

以下是使用useNativeControl的一些代码://仅显示控件一秒钟,然后在退出应用程序之前说"Expo 已停止">

import React, { Component } from 'react';
import { StyleSheet, Text, View, Image, Button } from 'react-native';
import { Video } from 'expo';
export default class App extends Component {
render() {
return (
<View style={styles.app}>
<Video  source={{ uri: 'http://d23dyxeqlo5psv.cloudfront.net/big_buck_bunny.mp4' }} rate={1.0} volume={1.0} useNativeControls muted={false}  resizeMode="cover"  shouldPlay isLooping style={{ width: 300, height: 300 }} />
</View>
);
}
}

这是没有它的代码:

import React, { Component } from 'react';
import { StyleSheet, Text, View, Image, Button } from 'react-native';
import { Video } from 'expo';
export default class App extends Component {
render() {
return (
<View style={styles.app}>
<Header />
<Topics />
<Video  source={{ uri: 'http://d23dyxeqlo5psv.cloudfront.net/big_buck_bunny.mp4' }} rate={1.0} volume={1.0} muted={false}  resizeMode="cover"  shouldPlay isLooping style={{ width: 300, height: 300 }} />
</View>
);
}

所以正如你所看到的,唯一的区别是"useNativeControls",没有usenativecontrols,应用程序运行正常,我只是对视频没有任何控制。

主要问题:如何使用本机控件而不让我的应用崩溃?

旁注/问题: 或者,是否有其他视频播放器对于 react-native 的初学者来说易于使用?我花了几个小时,但还没有想出解决方案。我最初尝试了 react-native-video (https://www.npmjs.com/package/react-native-video(,但这对我不起作用(从文档来看,它要求您对 java 代码进行更改,这不是我想要做的事情(。因此,如果 expo 的视频组件有替代方案,它具有控件并在没有任何 java/swift 知识的情况下工作,那就是我正在寻找的。

编辑:

package.json 依赖项:

"dependencies": {
"expo": "^20.0.0",
"link": "^0.1.5",
"react": "16.0.0-alpha.12",
"react-native": "^0.46.4",
"react-native-video": "^2.0.0",
}

您是否弹出/分离了您的应用程序?该库需要将一些本机代码添加到项目中。您不能将其与即插即用方法一起使用。在此处阅读有关分离的更多信息:https://docs.expo.io/versions/latest/guides/detach.html

但请注意,一旦您开始为自己构建应用程序,它就是狂野的世界。我现在一个人在那里,失败得很开心。我怀疑你能找到任何不需要添加一些本机代码的视频播放器。

最新更新