2017-08-25 139 views
0

我正在使用本地和远程stream.I设置远程和本地流使用VideoRenderer GLSufaceView如下所示。 enter image description hereonClick GlSufaceView

小视图是远程streaming.I要交换本地和远程视频流点击远程视图和问题是我不能申请点击这个view.I使用此代码来添加远程和视频流。

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); 

     } 
    }); 
} 

我想申请点击只有远程流。虽然这两个视图是一个GLSurfaceview的一部分。

请帮我解决这个问题。

+0

你尝试过什么来解决这个问题,你从哪里得到卡住呢? –

+0

其实我使用GLSurfaceView并添加远程和本地视图我已经使用这个VideoRendererGui.create()方法来创建视图和它的工作正常,但我坚持在这个问题上应用点击这个视图。当我尝试应用点击在它上面然后它为整个GLSufaceView工作,我只想应用点击远程视图。 – Payal

+0

什么代码?我在你的问题中没有看到任何代码,而是一个非常大的漂亮图片。 –

回答

1

使用2个表面视图可能更容易,使用FrameLayout一个堆叠在另一个之上。然后,您可以附加一个onClickListener您想监听点击

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

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