Obtendo um quadro do SurfaceView
A dificuldade que estou tendo agora é tirar uma captura de tela do SurfaceView. Alguém poderia ajudar?
Minha equipe está fazendo um projeto Android em que usamos o MediaCodec para decodificar o feed de vídeo e renderizar o feed em um Surface. A atividade implementa
SurfaceHolder.Callback
Em seguida, criamos um SurfaceView e adicionamos o retorno de chamada:
mySurfaveView.getHolder().addCallback(this);
Começamos a decodificar o feed de vídeo (temos um método que decodifica)
surfaceChanged(SurfaceHolder holder, int format, int width, int height)
O vídeo funciona bem, agora eu quero tirar uma captura de tela do que é renderizado no SurfaceView. Eu tentei várias maneiras de fazer isso, mas não consegui. A seguir, é o que eu tentei:
Estou cansado de obter o cache de desenho do rootView.Tentei obter o quadro diretamente do MediaCodec.Tentei o método draw () para desenhar em uma tela.A partir de agora, estou tentando criar um SurfaceView personalizado e substituir o método onDraw lá. No entanto, nunca criei um SurfaceView personalizado. Estou na direção certa?
Ajuda por favor. Obrigado!