Immer ein frame von SurfaceView

Die Schwierigkeit, das ich jetzt habe ist ein screenshot von der SurfaceView. Könnte sich jemand bitte helfen?

Mein team ist dabei, ein Android-Projekt, wo wir MediaCodec zu decodieren und die video-feed und machen das füttern auf eine Oberfläche.
Die Aktivität implementiert

SurfaceHolder.Callback

Dann haben wir eine SurfaceView und fügen Sie den Rückruf:

mySurfaveView.getHolder().addCallback(this);

Dann beginnen wir decodieren der video-feed-in (wir haben eine Methode, die die Dekodierung)

surfaceChanged(SurfaceHolder holder, int format, int width, int height)

Das video funktioniert Prima, jetzt möchte ich mit screenshot von dem, was gerendert wird auf die SurfaceView. Ich habe versucht, mehrere Möglichkeiten, dies zu tun, aber ich wollte nicht gelingen. Folgenden sind das, was ich versucht habe:

  1. Ich habe müde immer rootView ist drawingcache.
  2. Versuchte, den Rahmen direkt von MediaCodec.
  3. Versucht die Methode draw() zum zeichnen auf eine Leinwand.

Als jetzt ich bin tring, um eine benutzerdefinierte SurfaceView und überschreiben der onDraw-Methode. Allerdings habe ich nie erstellt eine benutzerdefinierte SurfaceView. Bin ich auf die richtige Richtung?

Hilfe bitte. Danke!

Was Sie zu tun versuchen ist sehr gut erklärt hier: stackoverflow.com/questions/27817577/...

InformationsquelleAutor Chen | 2015-04-16

Schreibe einen Kommentar