Je veux développer une application, qui aura 2 boutons et SurfaceView (En fait, une classe étend SurfaceView implémente SurfaceHolder.Callback).Android MediaCodec encoder et décoder en utilisant le format vp8
Lorsque l'utilisateur clique sur button1 - avec ScreenCapture, je vais obtenir une image et en utilisant mediacodec, je vais faire VP8 le codage et la sortie d'économie en ByteBuffer (je ne suis pas enregistrer dans un emplacement de fichier)
Lorsque l'utilisateur. cliquez sur le bouton 2 - Je dois le montrer sur SurfaceView avec cette sortie de bytebuffer qui est capturée.
j'ai essayé comme
décodeur MediaCodec = MediaCodec.createDecoderByType ("video/x-vnd.on2.vp8"); decoder.dequeueOutputBuffer (mBufferInfo, DEFAULT_TIMEOUT_US);
.....
mais pas en mesure de mettre à jour le surfaceview. Comment puis-je mettre à jour la vue de surface en utilisant des données de bytebuffer?
Avez-vous été capable de faire fonctionner ceci avec AVC? Il peut être utile de tout faire fonctionner avec .mp4 pour s'assurer que tous les problèmes que vous rencontrez ne sont pas spécifiques à VP8. – fadden
Non .. Je sens que je fais une erreur dans MediaProjection.createVirtualDisplay (..); avec cette API, je suis capable de capturer l'écran. mMediaProjection.createVirtualDisplay ("SCREEN_CAPTURE", Largeur, hauteur, densité, 0, surface, nouveau VirtualDisplay.Callback() {}, gestionnaire); La surface contient des données d'écran capturées. est-ce correct? – user2318724