1

我正在尝试从 android 中的视频文件中抓取帧,唯一的替代方案(已经编译好可供使用)是videoToGif项目。它在 Android 中使用 JavaCV、JavaCpp 和 Java SE!最终的apk真的很大,但我只是在做一个学术项目......

错误 我正在使用以下代码:

ModifiedFrameGrabber frameGrabber = new ModifiedFrameGrabber(VIDEO_PATH);
IplImage frame = null;

try
{
    frameGrabber.start();
    frame = frameGrabber.grab();
} catch(Exception e){...}

byte[] data = frame.getByteBuffer().array();

在最后一行我得到错误:

Caused by: java.lang.UnsupportedOperationException
    at java.nio.DirectByteBuffer.protectedArray(DirectByteBuffer.java:292)
    at java.nio.ByteBuffer.array(ByteBuffer.java:144)
    at my.package.onCreate(MyClass:x)

任何人都可以帮助我吗?似乎问题出在Java API中......

4

1 回答 1

4

直接 NIO 缓冲区没有数组。调用get()而不是array().

于 2012-05-31T13:48:52.150 回答