首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React Native:播放视频错误组件异常

React Native:播放视频错误组件异常
EN

Stack Overflow用户
提问于 2020-12-01 15:40:01
回答 2查看 104关注 0票数 0
代码语言:javascript
复制
import { SafeAreaView, ScrollView, StyleSheet, View, Text } from 'react-native';
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import { Container, Content, List, ListItem } from 'native-base';
import Video from 'react-native-video';


function VideoListScreen({ navigation }) {
  return (
    <Container>
      <Content>
        <List>

          <ListItem onPress={()=> navigation.navigate('Video Player', {
            external: true,
            videoURL: 'https://www.w3schools.com/html/mov_bbb.mp4'
          })}>
            <Text>External video source</Text>
          </ListItem>

        </List>
      </Content>
    </Container>
  );
}

function VideoPlayerScreen({ route, navigation }) {
  const {external, videoURL } = route.params;

  return (
    <Container>
      <Video 
        source={{uri: videoURL}}   // Can be a URL or a local file.                                
        style={styles.backgroundVideo} 
      />                                      
    </Container>
  );
}

const Stack = createStackNavigator();

export default function App() {
  return (
   <NavigationContainer>
     <Stack.Navigator>
       <Stack.Screen name ='Video List' component={VideoListScreen} />
       <Stack.Screen name ='Video Player' component={VideoPlayerScreen} />
     </Stack.Navigator>
   </NavigationContainer>

  );
}

我想在用户点击列表中的项目时播放视频,但现在我收到了错误的->组件异常,未定义不是对象(计算'RTCVideoInsance.Constants'),

这是使用https://github.com/react-native-video/react-native-video的视频播放器库。

谢谢你的帮助

EN

回答 2

Stack Overflow用户

发布于 2020-12-01 16:04:42

在安装yarn之后,在cd ios中运行pod安装

来源:https://github.com/react-native-video/react-native-video/issues/1502

如果您已经安装了pod,请尝试清理xcode项目,然后重新构建。

票数 0
EN

Stack Overflow用户

发布于 2020-12-01 23:38:34

这将有助于与expo一起开发

1)。expo install expo-av

2)。您的App.js应该是这样的。

代码语言:javascript
复制
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { Video } from 'expo-av';

export default class App extends React.Component {
render(){
return (
< View style={styles.container} >
< Text >Open up App.js to start working on your app!< / Text >

    < Video
    source={{ uri: 'https://www.yourdomain.com/uploads/video_file.mp4' }}
    shouldPlay
    useNativeControls 
    style={{ width: "100%", height: "50%" }}
  />

  </ View >
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});

3)。然后世博会开始

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65086446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档