2017-05-16 5 views
0

Ich habe folgende Situation:Reuse TextureView mit verschiedenen Videoplayer

In Aktivität A Layout ich <TextureView .../> auf Vollbild haben. In die Aktivität A-Klasse erstelle ich new Surface(surfaceTexture) mit TextureView SurfaceTexture. Außerdem habe ich VideoPlayer1 und übergebe ihm die neu erstellte Oberfläche über .setSurface(mySurface). So weit, so gut, das Video wird gerendert und alles ist perfekt, aber in einem Moment der Benutzerinteraktion gebe ich den aktuellen videoPlayer1 vollständig frei, erstelle eine neue Instanz (videoPlayer2) und rufe videoPlayer2.setSurface(mySurface) an. Das Problem ist, dass videoPlayer2, mySurface nichts rendert. Ich habe fast alles ausprobiert.

Ich kann keinen Code anzeigen, aber was ist die korrekte Vorgehensweise, um einzelne Surface-Instanzen für verschiedene VideoPlayer wiederzuverwenden?

Danke.

Antwort

0

Was hast du gemacht, wenn du den aktuellen videoPlayer1 veröffentlichst?

Haben Sie player.setSurface (null) und player.release() versucht?

Ich denke, Sie können es versuchen.