如何在expo-av React Native中使用本地mp4文件

Ty8*_*y87 5 react-native expo

我已将其全部设置为加载 uri,它基本上与 expo 文档中的示例完全相同。我不知道如何使用本地文件系统。我的文件系统中有 mp4,但是当我将路径链接到文件系统时,屏幕变为空白,没有任何显示。我将包括我正在使用但似乎无法使其工作的代码片段

import * as React from "react";
import { View, StyleSheet, Button } from "react-native";
import { Video, AVPlaybackStatus } from "expo-av";

export default function App() {
  const video = React.useRef(null);
  const [status, setStatus] = React.useState({});
  return (
    <View style={styles.container}>
      <Video
        ref={video}
        style={styles.video}
        source={{
          videoURL: require("../assets/videos/TestVideo.mp4"),
        }}
        useNativeControls
        resizeMode="contain"
        isLooping
        onPlaybackStatusUpdate={(status) => setStatus(() => status)}
      />
      <View style={styles.buttons}>
        <Button
          title={status.isPlaying ? "Pause" : "Play"}
          onPress={() =>
            status.isPlaying
              ? video.current.pauseAsync()
              : video.current.playAsync()
          }
        />
      </View>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
  video: {
    flex: 1,
  },
});

Run Code Online (Sandbox Code Playgroud)

des*_*ant 5

文档videoURL中没有提到bit ,所以只需删除它,您就会看到视频:

source={require("../assets/videos/TestVideo.mp4")}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,以为是 uri: {require()} 结果不是! (2认同)