Я пытаюсь реализовать запись экрана. Я подписался на grafika . Простое предоставление Surface от encoder.getInputSurface()
к VirtualDisplay делает свое дело. Теперь моя задача кодировать определенную часть экрана. Итак, я пытался изменить входную поверхность для кодировщика с помощью SurfaceTexture (я думаю, что это правильный метод). Но я не могу использовать созданную поверхность для записи экрана, и когда я передаю эту поверхность в VirtualDisplay, я не получаю обратного вызова. Я также пытался записывать с помощью TextureMovieEncoder (из графика), но, возможно, я не знаю правильного метода.
Я пытался понять, следуя полезным ссылкам. Как выходная поверхность декодера передается на входную поверхность кодировщика?
а также
Android: возможно ли создать SurfaceTexture без SurfaceView?
И я уверен, что графика — отличный учебник, но я застрял.
Пожалуйста, предложите решение или другой рабочий метод. Теперь я застрял на несколько дней.