У меня похожая проблема при попытке получить видеокадры из VideoView. Я пробовал все виды комбинаций этих флагов:
vids[i] = new VideoView(this);
vids[i].setDrawingCacheEnabled(true);
vids[i].setWillNotCacheDrawing(false);
vids[i].setWillNotDraw(false);
... (позже в цикле draw () другого представления *
curFrame = vids[0].getDrawingCache();
if (curFrame != null) {
canvas.drawBitmap(curFrame, null, new RectF(10,y,50,y+50), null);
}
Но растровое изображение curFrame, хотя и не нулевое, имеет ширину и высоту -1 в отладчике. Это может быть какая-то реализация DRM или что-то в этом роде, или просто ограничение декодера, но я не думаю, что возможно получить пиксели видео. Возможно, вам больше повезет с вашей камерой - пробовали ли вы поиграть с setWillNotCacheDrawing ()? Дайте мне знать, если это сработает, потому что это был мой запасной план!