输入是:
surface=MediaCodec.createInputSurface;
canvas=surface.lockCanvas(...);
canvas.drawBitmap(bitmap,0,0,null);
由于想图片编码视频,如果把bitmap转yuv非常耗时,就用到了上面输入。
但是后面获取编码就有问题,dequeueOutputBuffer老是返回-1,问题就是在输入时候没有时间截导致的。
如果在输入转yuv输入:encode.queueInputBuffer(bufferIndex,0,size,presentationTimeUs,0);这样dequeueOutputBuffer才可以获取到数据。
小米机以前可以,现在升级后不行。
我问的问题就是用canvas.drawBitmap(bitmap,0,0,null);输入如何同时输入时间截;如果不行,那么如何从surface获取yuv数据,如果用bitmap转yuv非常耗时。
求帮忙。
surface=MediaCodec.createInputSurface;
canvas=surface.lockCanvas(...);
canvas.drawBitmap(bitmap,0,0,null);
由于想图片编码视频,如果把bitmap转yuv非常耗时,就用到了上面输入。
但是后面获取编码就有问题,dequeueOutputBuffer老是返回-1,问题就是在输入时候没有时间截导致的。
如果在输入转yuv输入:encode.queueInputBuffer(bufferIndex,0,size,presentationTimeUs,0);这样dequeueOutputBuffer才可以获取到数据。
小米机以前可以,现在升级后不行。
我问的问题就是用canvas.drawBitmap(bitmap,0,0,null);输入如何同时输入时间截;如果不行,那么如何从surface获取yuv数据,如果用bitmap转yuv非常耗时。
求帮忙。
int bufferIndex=encode.dequeueInputBuffer(-1);bufferIndex在输出 0 1 2 3后就卡死了,这个是怎么回事啊?
求解,多谢了。