2017-08-25 5 views
0

私はGLSufaceViewでローカルとリモートstream.Iを使って、以下のようにVideoRendererを使ってリモートストリームとローカルストリームを設定しています。 enter image description hereonClick GlSufaceView

小規模なビューはリモートストリーミングです。リモートビューをクリックしてローカルとリモートのビデオストリーミングを交換したいのですが、このビューをクリックすることができません。このコードを使用してリモートとビデオを追加していますストリーム。

remoteRender = VideoRendererGui.create(REMOTE_X, REMOTE_Y, REMOTE_WIDTH, REMOTE_HEIGHT, scalingType, false); 
    localRender = VideoRendererGui.create(LOCAL_X_CONNECTING, LOCAL_Y_CONNECTING, LOCAL_WIDTH_CONNECTING, LOCAL_HEIGHT_CONNECTING, scalingType, true); 

私が言及方法以下の私の地元の流れが呼び出され得る:

 @Override 
public void onLocalStream(MediaStream stream) { 
    stream.videoTracks.get(0).addRenderer(new VideoRenderer(localRender)); 
    VideoRendererGui.update(localRender, LOCAL_X_CONNECTING, LOCAL_Y_CONNECTING, LOCAL_WIDTH_CONNECTING, LOCAL_HEIGHT_CONNECTING, scalingType, true); 
} 

と私は言及方法以下のリモートストリームが呼び出され得るとき:

 @Override 
public void onAddRemoteStream(final MediaStream remoteStream, final int endPoint, final PeerConnection pc) { 

    remoteRender = VideoRendererGui.create(REMOTE_X_CONNECTED - 20 * (cursor - 1), y, REMOTE_WIDTH_CONNECTED, REMOTE_HEIGHT_CONNECTED, scalingType, false); 
      remoteStream.videoTracks.get(0).addRenderer(new VideoRenderer(remoteRender)); 
      VideoRendererGui.update(remoteRender, REMOTE_X_CONNECTED - 20 * (cursor - 1), y, REMOTE_WIDTH_CONNECTED, REMOTE_HEIGHT_CONNECTED, scalingType, true); 

     } 
    }); 
} 

私はクリックを適用したいです両方のビューが1つのGLSurfaceviewの一部です。

この問題に関して私を助けてください。

+0

この問題を解決しようとしたのはどこですか? –

+0

実際にGLSurfaceViewを使用して、リモートビューとローカルビューを追加しています。このVideoRendererGui.create()メソッドを使用してビューを作成しても問題ありませんが、このビューをクリックすると問題に固執します。その上でGLSufaceView全体の作業を行い、私はただremoteviewだけをクリックしたいと思う。 – Payal

+0

どのようなコードですか?あなたの質問にはコードはありませんが、代わりに非常に大きな素敵な画像が表示されます。 –

答えて

1

FrameLayoutを使用して2つのサーフェスビューを重ねて重ねる方が簡単です。次に、クリックを聞きたいものにonClickListenerを添付します。

remoteVideoView = (GLSurfaceView) findViewById(R.id.remote_view); 
localVideoView = (GLSurfaceView) findViewById(R.id.local_view); 

remoteVideoView.setOnCLickListener(view -> switchStreams());