将字节数组(Byte[])转换为视频(Android)

3

我已经将视频上传到了我的亚马逊数据库,现在我想要下载并显示它,这是我下载它的代码部分:

S3ObjectInputStream content = s3.getObject(
                            Constants.getVideoBucket(),
                            keyList.get(i).getKey().toString())
                            .getObjectContent();
                    byte[] bytes = IOUtils.toByteArray(content);

现在我有包含视频的字节数组,但是我不知道下一步该怎么做。我想在已经准备好的VideoView上显示它。非常感谢您的帮助。
注:我不想将视频写入SD卡!(想象一下YouTube视频,可以播放,但不会把每个观看的视频都写入您的SD卡!)!!!!!!!
编辑1:我用照片做了这件事:
S3ObjectInputStream content = s3.getObject(
                            Constants.getPictureBucket(),
                            keyList.get(i).getKey().toString())
                            .getObjectContent();
                    byte[] bytes = IOUtils.toByteArray(content);
bitmap = BitmapFactory.decodeByteArray(bitmaparray.get(i), 0,
                            bitmaparray.get(i).length);             
                    imageview.setImageBitmap(bitmap); 

正如您所看到的,我将字节数组转换为位图,然后将其显示到ImageView上,请问您能否帮助我用同样的方法处理视频吗?


视频数据是什么格式? - fadden
我真的不知道哈哈,我怎么找到格式?我只是保存了一个用三星Galaxy拍摄的视频。 - luthor
@fadden 我在另一个情境中也遇到了同样的问题。这个问题能否通过特定格式来解决?如果是这样,我可以考虑转换视频格式。目前,我的视频格式为flv、mp4和webm。 - cnvzmxcvmcx
1个回答

1
你可以尝试这个,需要适当的权限。
FileOutputStream out = new FileOutputStream("sdcard path where you want to save video");
out.write(bytes);
out.close();
videoView.setVideoPath(“path to saved video“).

然后呢???我也在另一篇帖子中看到了这个答案,但我不知道如何管理视频。 - luthor
然后您可以访问已保存的视频。无论您想播放它还是做其他事情。 - Altaf
但是不保存的情况下能否播放呢?想象一下YouTube,如果你保存你看到的每个视频,你的卡片在一天内就会被填满。 - luthor
这是关于视频保存的内容,不是我的回答。 - Altaf
我并没有询问那个,所以你的回答是无用的。 - luthor
我也还没有找到这个答案。如果有人找到了,请告诉我。 - Abdul Mohsin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接