如何解决如何在本机离线时播放加密视频?
我的本地 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>`,}}
/>
我从搜索中尝试了各种其他解决方案,但没有任何帮助。我不知道我在这里错过了什么。
解决方法
所以我在我的应用程序中做了这样的事情,给你指示:
- 使用 react-native-fs 获取视频文件 base64
- 在 DocumentDirectoryPath 中使用 react-native-fs 解密并存储它(此路径在 react-native-fs 中预定义)
-
react-native-video 可以读取base64 文件所以直接放路径
source={{ uri: videoUrl }}
告诉我它是否对您有用。
干杯。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。