I am working on an app which needs encryption of video files which is working quite well.But the method I am using to decrypt returns the video as in Byte array. So is there any
After lots of search, this answer could be a sum up. All credits should go the solution owners.
Since VideoView
only accept URL or File, we have two solution;
Solution 1; Create temp File with stream and provide that file to videoView.
Ref; https://stackoverflow.com/a/21549067/1847645
Solution 2; Create media server on Android Local System and provide stream to media server where videoView is directed to the localhost for streaming.
Ref; https://stackoverflow.com/a/9096241/1847645
Other Ref; Which is very useful, thanks to libeasy; https://stackoverflow.com/a/15668803/1847645
How do you usually play video? You send InputStrem
instance to player.
So you ByteArrayInputStream
that wraps your byte array and send it to the player.
You should not feed VideoView with a static file but with a stream. How to produce this stream? Refer to Android Supported Media Formats. The simplest may be a local http server. LocalSingleHttpServer is an example of a library component implementing this kind of solution.