【发布时间】:2018-04-22 16:58:39
【问题描述】:
我正在尝试在我的应用中重现不支持 android 的视频(例如 .wmv 视频),实际上我能够抓取每一帧并创建它的位图。
所以,现在,我尝试在 VideoView(或任何其他视图)中按顺序显示这些位图,类似于视频。
一些代码:
while (true) {
frame = frameGrabber.grab();
if (frame == null)
break;
frame2 =
IplImage.create(frame.width(), frame.height(),
opencv_core.IPL_DEPTH_8U, 4);
opencv_imgproc.cvCvtColor(frame, frame2,
opencv_imgproc.CV_BGR2RGBA);
bm =
Bitmap.createBitmap(frame2.width(),
frame2.height(), Bitmap.Config.ARGB_8888);
bm.copyPixelsFromBuffer(frame2.getByteBuffer());
canvas = new Canvas(bm);
mVideoView.draw(canvas);
canvas.save();
看起来我可以抓取视频的每一帧(使用 ffmpeg),但我只是不知道如何显示它们。
顺便说一句,我已经尝试将此视频编码为 .mp4 文件并在 VideoView 上播放,但处理整个视频需要很长时间(1 小时),所以,现在,我正在尝试立即显示,无需对其进行编码 .mp4(或任何其他 android 支持的视频)
有什么建议吗?
【问题讨论】: