繁体   English   中英

无法使用react-native-video播放SD-CARD中的视频

[英]Unable to play videos from SD-CARD using react-native-video

我正在尝试使用react-native-video通过SD-CARD播放视频。 我正在使用rn-fetch-blob包来连接SD-CARD。 但我无法播放任何视频。 我已手动为应用程序提供存储权限,AndroidManifest.xml已包含读写用户权限。

    <Video
        url={{
          uri:
            "file://" +
            RNFetchBlob.fs.dirs.SDCardDir +
            "/Video/videofile1.mp4"
        }}
        style={{ flex: 1 }}
      />

我尝试使用“source”而不是“url”,许多人建议将“file://”附加到开头,但我还没有成功。

使用的SD-CARD是SanDisk Ultra microSDHC UHS-I卡。

在我有限的(诚然)rn-fetch-blob体验中,这不是一个承诺吗?

因此,您不会直接在视频组件的网址中使用承诺,而是利用反应状态! 而且......

(注意:我正在使用香草反应状态,用你使用的任何东西替换,还原剂等)

state = {
  url: false
}

.......then later in your render/return:
{
 url 
    ? <Video url={this.state.url} />
    : <SomeLoaderComponentYouDefine />
}

然后在你的rn-fetch-blob逻辑上有一个单独的函数,可能在componentDidMount()上触发(没有看到更多代码,很难确定最佳路径)。 这样可以正确处理装载。 'SomeLoaderComponentYouDefine'可以是反应原生活动指标

另外,知道哪个操作系统没有工作,两者,只有一个等,这将是有用的。有一些与android中的权限相关的未解决的问题。 在我有限的个人经历中

对于iOS:

DocumentDir

对于android:

SDCardApplicationDir

一般都有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM