我正在开发一个需要加密视频文件的应用程序,该应用程序运行良好。但是我用来解密的方法返回字节数组中的视频。那么我是否可以在不创建新文件的情况下使用该数组播放视频。
我的方法解密:
private static byte[] decrypt(byte[] raw, byte[] encrypted) throws EncrypterException {
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
try {
final Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, skeySpec);
return cipher.doFinal(encrypted);
} catch (Exception e) {
throw new EncrypterException(e);
}
}
请帮帮我,我卡在这里了?
最佳答案
经过大量搜索,这个答案可能是一个总结。所有功劳应归于解决方案所有者。
由于 VideoView
只接受 URL 或 File,我们有两种解决方案;
解决方案 1; 使用流创建临时文件并将该文件提供给 videoView。
引用; https://stackoverflow.com/a/21549067/1847645
解决方案 2;在 Android 本地系统上创建媒体服务器并向媒体服务器提供流,其中 videoView 被定向到本地主机以进行流式传输。
引用; https://stackoverflow.com/a/9096241/1847645
其他引用; 这非常有用,感谢 libeasy; https://stackoverflow.com/a/15668803/1847645
关于java - 如何播放字节数组中的视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9495366/