微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在本机离线时播放加密视频?

如何解决如何在本机离线时播放加密视频?

我的本​​地 android 文件中有视频,这些视频是使用 AEC 算法加密的。有没有直接的方法可以在 react-native-video 中播放该视频? 我尝试将其转换为 base64 并逐片解密,但 react-native-video 不支持 base64 作为源。 我尝试在 react-native-webview 上播放它,但它不起作用。代码如下

<WebView
            injectedJavaScript={debugging}
            onMessage={(message) => {
              console.log(message);
            }}
            source={{
              baseUrl: '',html: `<html>
                 <body>
                    <video width="100%" height="600" controls controlsList="nodownload" autoplay='autoplay' id='myvideo'>
                    <source type="video/mp4" src="data:video/mp4;base64,${videoFile}">
                     </video>
                  </body>
                  <script src="${RNFetchBlob.fs.dirs.MainBundleDir}/bundle.js"></script>
                  <script type="text/javascript">
                    console.log('check is check')
                  </script>
                  <script type="text/javascript">
                    console.log('check is check  32 and this is from the nepal')
                    let data = '';
                    RNFetchBlob.fs
                    .readStream('file:///' + ${allVideoFile[1].path},'base64',102399,250)
                    .then((stream) => {
                      stream.open();
                      stream.onData((chunk) => {
                        data+=chunk;
                      });
                      stream.onEnd(() => {});
                    }).catch(err=>{
                      console.log('Error is',err)
                    })
                    console.log('data is',data)
                  </script>
               </html>`,}}
          />

我从搜索中尝试了各种其他解决方案,但没有任何帮助。我不知道我在这里错过了什么。

解决方法

所以我在我的应用程序中做了这样的事情,给你指示:

  1. 使用 react-native-fs 获取视频文件 base64
  2. 在 DocumentDirectoryPath 中使用 react-native-fs 解密并存储它(此路径在 react-native-fs 中预定义)
  3. react-native-video 可以读取base64 文件所以直接放路径source={{ uri: videoUrl }}

告诉我它是否对您有用。

干杯。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。