首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >react本机-视频不加载带有动态uri的视频

react本机-视频不加载带有动态uri的视频
EN

Stack Overflow用户
提问于 2020-07-14 07:08:15
回答 1查看 1.1K关注 0票数 1

我正在开发一个应用程序,程序的一部分是拍摄视频,然后上传。我使用react-native-video在用户完成记录之后显示预览,使用react-native-camera显示捕获过程。我还使用react-navigation在屏幕之间移动。

目前,我可以进入预览屏幕,并从Redux设置视频组件的源uri。然而,没有球员可以看到。uri格式为"file:///path/video.mp4",“,因此很明显,它应该按预期在应用程序缓存中。

首先,向用户展示一个摄像机,在那里s/他可以捕获视频。

代码语言:javascript
运行
复制
const recordVideo = async () => {
  if (camera) {
     const data = await camera.current.recordAsync()
     if (data) {
        dispatch(saveVideo(data)) <-- CONTAINS THE URI
        navigation.navigate(CONFIRM)
     }
  }

当stopRecording()被调用时,这个承诺显然解决了,并且视频的URI将被分派到Redux。之后,我们导航到“确认屏幕”,在那里,用户可以预览视频,并选择是拍摄另一个还是与这一个。

我的问题是,我根本无法播放那个预览视频。我想我已经尽我所能了,我已经厌倦了一些看似简单、太难做的事情。我让这段视频播放几次是因为一些奇怪的原因,所以这不是玩家的错。充其量不过是显示预览一次,但是当你回去拍摄另一个视频时,就不再有视频预览了。另外,“确认”屏幕通常会加载照片(以相同的方式拍摄:相机->确认),但是当轮到视频时,它就不能工作了。视频组件的onError处理程序还为我提供了以下内容:{"error": {"extra": -2147483648, "what": 1}},这似乎是胡说八道。

PS。是的,我已经阅读了所有相关的文章,但没有找到合适的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2021-07-01 18:53:12

使用Exoplayer

不要在Android上使用旧的媒体播放器,而是尝试使用更现代的Exoplayer。如果您使用的是Reactinative0.60+,您可以通过执行以下操作在react-native.config.js中指定这一点:

代码语言:javascript
运行
复制
module.exports = {
  dependencies: {
    "react-native-video": {
      platforms: {
        android: {
          sourceDir: "../node_modules/react-native-video/android-exoplayer"
        }
      }
    }
  }
};

我也经历过同样的问题,这个解决方案对我们有效。请注意,我们只支持Android 5+,所以不能确定这是否适用于较老的设备。

https://github.com/react-native-video/react-native-video/issues/1747#issuecomment-572512595

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

https://stackoverflow.com/questions/62889777

复制
相关文章

相似问题

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