내 응용 프로그램에서 .wmv 비디오와 같이 지원되는 Android가 아닌 비디오를 재생하려고하고 있으며 실제로 모든 프레임을 잡고 비트 맵을 만들 수 있습니다. 그것의."비디오와 같은"비트 맵을 연속적으로 표시
그래서 지금 비디오 뷰 (또는 다른보기)에서 비디오와 같은 비트 맵을 표시하려고합니다.
일부 코드는 : 나는 (는 FFmpeg를 사용하여) 비디오의 모든 프레임을 잡을 수 있지만, 난 그냥 그들을 표시하는 방법을 모른다처럼
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();
것 같습니다.
그런데 이미이 비디오를 .mp4 파일로 인코딩하여 VideoView에서 재생하려고 시도했지만 전체 비디오 (1 시간)를 처리하는 데 많은 시간이 필요하므로 지금은 그것을 인코딩하지 않고 곧바로 표시하려고합니다 .mp4 (또는 다른 안드로이드 지원 비디오)
어떤 조언이 있습니까?