private void initializeSession(String apiKey, String sessionId, String token) { mSession = new Session.Builder(this, apiKey, sessionId).build(); mSession.setSessionListener(this); mSession.setArchiveListener(this); mSession.connect(token); }
@Override protected void onPause() { Log.d(LOG_TAG, "onPause"); super.onPause(); if (mSession != null) { mSession.onPause(); } }
@Override protected void onResume() { super.onResume(); Log.d(LOG_TAG, "onResume"); if (mSession != null) { mSession.onResume(); } }
private void initializeSession(String apiKey, String sessionId, String token) { Log.d(LOG_TAG, "Initializing Session"); mSession = new Session.Builder(this, apiKey, sessionId).build(); mSession.setSessionListener(this); mSession.setSignalListener(this); mSession.connect(token); }
@AfterPermissionGranted(RC_VIDEO_APP_PERM) private void requestPermissions() { String[] perms = {Manifest.permission.INTERNET, Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO}; if (EasyPermissions.hasPermissions(this, perms)) { mSession = new Session.Builder(MainActivity.this, OpenTokConfig.API_KEY, OpenTokConfig.SESSION_ID).build(); mSession.setSessionListener(this); mSession.connect(OpenTokConfig.TOKEN); } else { EasyPermissions.requestPermissions(this, getString(R.string.rationale_video_app), RC_VIDEO_APP_PERM, perms); } }
private void disconnectSession() { if (mSession == null) { return; } if (mSubscriber != null) { mSubscriberViewContainer.removeView(mSubscriber.getView()); mSession.unsubscribe(mSubscriber); mSubscriber.destroy(); mSubscriber = null; } if (mPublisher != null) { mPublisherViewContainer.removeView(mPublisher.getView()); mSession.unpublish(mPublisher); mPublisher.destroy(); mPublisher = null; } mSession.disconnect(); } }
@Override public void onConnected(Session session) { Log.d(TAG, "onConnected: Connected to session " + session.getSessionId()); mPublisher = new Publisher.Builder(MainActivity.this) .name("publisher") .renderer(new BasicCustomVideoRenderer(this)) .build(); mPublisher.setPublisherListener(this); mPublisher.setStyle(BaseVideoRenderer.STYLE_VIDEO_SCALE, BaseVideoRenderer.STYLE_VIDEO_FILL); mPublisherViewContainer.addView(mPublisher.getView()); if (mPublisher.getView() instanceof GLSurfaceView) { ((GLSurfaceView)(mPublisher.getView())).setZOrderOnTop(true); } mSession.publish(mPublisher); }
@Override public void onDisconnected(Session session) { Log.d(TAG, "onDisconnected: disconnected from session " + session.getSessionId()); mSession = null; }
private void subscribeToStream(Stream stream) { mSubscriber = new Subscriber.Builder(MainActivity.this, stream).build(); mSubscriber.setVideoListener(this); mSession.subscribe(mSubscriber); }
@Override public void onConnected(Session session) { Log.i(LOG_TAG, "Session Connected"); if (mPublisher != null) { mSession.publish(mPublisher); } setStartArchiveEnabled(true); }
@AfterPermissionGranted(RC_VIDEO_APP_PERM) private void requestPermissions() { String[] perms = { Manifest.permission.INTERNET, Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO, Manifest.permission.WRITE_EXTERNAL_STORAGE }; if (EasyPermissions.hasPermissions(this, perms)) { mSession = new Session.Builder(MainActivity.this, OpenTokConfig.API_KEY, OpenTokConfig.SESSION_ID).build(); mSession.setSessionListener(this); mSession.connect(OpenTokConfig.TOKEN); } else { EasyPermissions.requestPermissions(this, getString(R.string.rationale_video_app), RC_VIDEO_APP_PERM, perms); } } @Override
private void disconnectSession() { if (mSession == null) { return; } if (mSubscriber != null) { mSubscriberViewContainer.removeView(mSubscriber.getView()); mSession.unsubscribe(mSubscriber); mSubscriber.destroy(); mSubscriber = null; } if (mPublisher != null) { mPublisherViewContainer.removeView(mPublisher.getView()); mSession.unpublish(mPublisher); mPublisher.destroy(); mPublisher = null; } mSession.disconnect(); } }
@Override public void onConnected(Session session) { Log.d(TAG, "onConnected: Connected to session " + session.getSessionId()); mPublisher = new Publisher.Builder(MainActivity.this) .name("publisher") .capturer(new CustomVideoCapturer(MainActivity.this, Publisher.CameraCaptureResolution.MEDIUM, Publisher.CameraCaptureFrameRate.FPS_30)) .renderer(new InvertedColorsVideoRenderer(MainActivity.this)).build(); mPublisher.setPublisherListener(this); mPublisher.setStyle(BaseVideoRenderer.STYLE_VIDEO_SCALE, BaseVideoRenderer.STYLE_VIDEO_FILL); mPublisherViewContainer.addView(mPublisher.getView()); if (mPublisher.getView() instanceof GLSurfaceView) { ((GLSurfaceView) (mPublisher.getView())).setZOrderOnTop(true); } mSession.publish(mPublisher); }
@Override public void onDisconnected(Session session) { Log.d(TAG, "onDisconnected: disconnected from session " + session.getSessionId()); mSession = null; }
@Override public void onStreamReceived(Session session, Stream stream) { Log.i(LOG_TAG, "Stream Received"); if (mSubscriber == null) { mSubscriber = new Subscriber.Builder(this, stream).build(); mSubscriber.setSubscriberListener(this); mSubscriber.getRenderer().setStyle(BaseVideoRenderer.STYLE_VIDEO_SCALE, BaseVideoRenderer.STYLE_VIDEO_FILL); mSession.subscribe(mSubscriber); } }
@Override protected void onResume() { Log.d(LOG_TAG, "onResume"); super.onResume(); if (mSession != null) { mSession.onResume(); } }
@Override protected void onPause() { super.onPause(); Log.d(LOG_TAG, "onPause"); if (mSession != null) { mSession.onPause(); } }
@Override public void onError(Session session, OpentokError opentokError) { Log.d(TAG, "onError: Error (" + opentokError.getMessage() + ") in session " + session.getSessionId()); Toast.makeText(this, "Session error. See the logcat please.", Toast.LENGTH_LONG).show(); finish(); }
private void subscribeToStream(Stream stream) { mSubscriber = new Subscriber.Builder(MainActivity.this, stream) .renderer(new BasicCustomVideoRenderer(this)) .build(); mSubscriber.setVideoListener(this); mSession.subscribe(mSubscriber); }
@Override protected void onResume() { Log.d(TAG, "onResume"); super.onResume(); if (mSession == null) { return; } mSession.onResume(); }