2017-07-25 2 views
0

The basic sample project of OpenTok zeigt, wie Sie einen VideoCall erstellen, der den Videostream der Abonnenten in einem kleinen Rahmen oberhalb des Publisher-Streams zeigt.OpenTok: PublisherView oben auf SubscriberView

Ich versuche das gleiche zu erreichen, nur umgekehrt. Probleme:

  1. Einfach die beiden Containeransichten im Layout ändern xml funktioniert nicht. Was passiert, ist, dass der Publisher-Stream (der, der jetzt über dem anderen Stream sein sollte) nicht angezeigt wird (is invisble)
  2. This issue beschreibt das genaue Problem, andeutend mich in Richtung setZOrderMediaOverlay(true); setZOrderOnTop(true); Das Problem mit diesem Ansatz ist dass jetzt der Publisher-Stream über allem steht, sogar die Android-GUI, die für meinen Anwendungsfall nicht tolerierbar ist.
  3. Verwenden nur setZOrderMediaOverlay(true); funktioniert nicht. Die Publisher-Ansicht ist immer noch unsichtbar.

Irgendeine Idee, wie man das erreicht?

Antwort

2

Verwenden Sie TextureViews anstelle von GLSurfaceView, was OpenTok sdk standardmäßig verwendet.

TextureViews aktivieren, bauen Sie Ihre Sitzung auf diese Weise:

Session session = new Session.Builder(this, "apiKey", "sessionId") 
    .sessionOptions(new Session.SessionOptions() { 
     @Override 
     public boolean useTextureViews() { 
     return true; 
     } 
    }).build(); 

, dass die Verleger und Abonnenten Objekte TextureViews für seine Rendering verwenden machen.

Offizielle doc ist here