const renderpost =({item})=> { const mediauri =`http://10.50.99.238:5001$ {item.media_url}`; 返回 (

问题描述 投票:0回答:1
/uploads
文件夹中。显示图像未显示的视频,但它只是显示了空白。请帮忙,谢谢
    

使用Expo,请安装expo-av:

npm install expo-av
javascript node.js react-native express expo
1个回答
0
投票
,然后更新您的反应本机代码:


import { Video } from "expo-av"; const renderPost = ({ item }) => { const mediaUri = `http://10.50.99.238:5001${item.media_url}`; return ( <View style={{ padding: 10, borderBottomWidth: 1, borderBottomColor: "#ccc" }}> <Text style={{ fontWeight: "bold" }}>{item.user_id}</Text> {item.media_url?.endsWith(".mp4") ? ( <Video source={{ uri: mediaUri }} style={{ width: "100%", height: 300 }} useNativeControls resizeMode="contain" shouldPlay isLooping onError={(error) => console.log("Video Error:", error)} /> ) : ( <Image source={{ uri: mediaUri }} style={{ width: "100%", height: 200 }} resizeMode="contain" /> )} <Text>{item.caption}</Text> </View> ); };

用于调试视频问题的GUIDELINE
检查视频URL  - 在浏览器中打开它,以确保其访问。
后端MIME类型 - 在Express中正确提供视频:
app.use("/uploads", express.static("uploads", { setHeaders: (res, path) => res.setHeader("Content-Type", "video/mp4") }));

可启用CORS - 防止请求阻止App.Use(CORS());。 使用兼容编码 - 如果需要,请使用FFMPEG转换视频:

ffmpeg -i input.mp4 -vcodec libx264 -acodec aac output.mp4

需要更多帮助吗?
在这里接触emizentech
    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.