2017-08-25 65 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());