La demande est que la sauvegarde d'une image vidéo dans l'appel vidéo. J'ai fait une démo qui prend une capture d'écran via la méthode "onDrawFrame" de GLSurfaceView. Mais quand j'utilise le webrtc, il a son propre moteur de rendu "VideoRendererGUI". Et quand je veux le surcharger, je trouve qu'il ne peut pas être ignoré. le code de la pièce principale:WebRTC pour Android: VideoRendererGUI prend une capture d'écran dans l'appel vidéo
vsv = (GLSurfaceView) findViewById(R.id.glviewchild_call);
vsv.setPreserveEGLContextOnPause(true);
vsv.setKeepScreenOn(true);
VideoRendererGui.setView(vsv, new Runnable() {
@Override
public void run() {
init();
}
});
Et si vous avez une autre façon de prendre une capture d'écran, vous pouvez également partager avec moi. Merci beaucoup!
Merci Gaurav! Puis-je utiliser le ffmpeg pour résoudre ce problème? Parce que maintenant j'ai utilisé l'interface utilisateur "GLSurfaceView" de l'application, mais cela ne fonctionne pas. – fancyT
J'ai trouvé une autre solution! Tout d'abord via webrtc, je peux obtenir le I420frame dans la méthode 'RenderFrame'. Ensuite, je convertis le I420frame en YuvImage. Enfin, j'utilise la méthode YuvImage 'compressToJpeg' pour le convertir en image jpeg. – fancyT