protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.activity_main); var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); var connectButton = FindViewById <Button>(Resource.Id.connect_button); connectButton.Click += ConnectButton; var disconnectButton = FindViewById <Button>(Resource.Id.disconnect_button); disconnectButton.Click += DisconnectButton; var waveButton = FindViewById <Button>(Resource.Id.wave_button); waveButton.Text = "👋"; waveButton.Click += (sender, args) => _webRtcClient.SendMessage(waveButton.Text); _remoteView = FindViewById <SurfaceViewRenderer>(Resource.Id.remote_video_view); _localView = FindViewById <SurfaceViewRenderer>(Resource.Id.local_video_view); // Force audio output to loudspeaker var audioManager = (AudioManager)GetSystemService(AudioService); audioManager.Mode = Mode.InCall; audioManager.SpeakerphoneOn = true; RunOnUiThread(async() => await Init()); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.activity_main); StartArSession(); SetupGlSurfaceView(); remoteVideoSurface = FindViewById <SurfaceViewRenderer>(Resource.Id.remote_video_surface); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set window styles for fullscreen-window size. Needs to be done before // adding content. RequestWindowFeature(WindowFeatures.NoTitle); Window.AddFlags(WindowManagerFlags.Fullscreen | WindowManagerFlags.KeepScreenOn | WindowManagerFlags.DismissKeyguard | WindowManagerFlags.ShowWhenLocked | WindowManagerFlags.TurnScreenOn); //getWindow().getDecorView().setSystemUiVisibility(getSystemUiVisibility()); SetContentView(Resource.Layout.activity_conference); SurfaceViewRenderer publishViewRenderer = FindViewById <SurfaceViewRenderer>(Resource.Id.publish_view_renderer); List <SurfaceViewRenderer> playViewRenderers = new List <SurfaceViewRenderer>(); playViewRenderers.Add(FindViewById <SurfaceViewRenderer>(Resource.Id.play_view_renderer1)); playViewRenderers.Add(FindViewById <SurfaceViewRenderer>(Resource.Id.play_view_renderer2)); playViewRenderers.Add(FindViewById <SurfaceViewRenderer>(Resource.Id.play_view_renderer3)); playViewRenderers.Add(FindViewById <SurfaceViewRenderer>(Resource.Id.play_view_renderer4)); audioButton = FindViewById <Button>(Resource.Id.control_audio_button); videoButton = FindViewById <Button>(Resource.Id.control_video_button); // Check for mandatory permissions. foreach (String permission in CallActivity.MandatoryPermissions) { if (this.CheckCallingOrSelfPermission(permission) != Andr.Content.PM.Permission.Granted) { Toast.MakeText(this, "Permission " + permission + " is not granted", ToastLength.Short).Show(); return; } } this.Intent.PutExtra(CallActivity.ExtraCapturetotextureEnabled, true); // this.getIntent().putExtra(CallActivity.EXTRA_VIDEO_CALL, false); String streamId = null;//"stream1"; String roomId = "room1"; conferenceManager = new ConferenceManager( this, this, Intent, "", //MainActivity.SERVER_URL, roomId, publishViewRenderer, playViewRenderers, streamId, this ); conferenceManager.SetOpenFrontCamera(true); }
private void Disconnect() { _client?.Disconnect(); _client = null; _pipRenderer?.Release(); _pipRenderer = null; _fullscreenRenderer?.Release(); _fullscreenRenderer = null; Finish(); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.activity_main); Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); FloatingActionButton fab = FindViewById <FloatingActionButton>(Resource.Id.fab); fab.Click += FabOnClick; _surfaceViewRenderer = FindViewById <SurfaceViewRenderer>(Resource.Id.fullscreen_video_view); CreatePeerConnectionClient(); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); RequestWindowFeature(WindowFeatures.NoTitle); Window.AddFlags(WindowManagerFlags.Fullscreen | WindowManagerFlags.KeepScreenOn | WindowManagerFlags.ShowWhenLocked | WindowManagerFlags.TurnScreenOn); Window.DecorView.SystemUiVisibility = GetSystemUiVisibility(); SetContentView(Resource.Layout.activity_call); _fullscreenRenderer = FindViewById <SurfaceViewRenderer>(Resource.Id.fullscreen_video_view); _pipRenderer = FindViewById <SurfaceViewRenderer>(Resource.Id.pip_video_view); _callFragment = CreateCallFragment(Intent); _localRenderer = new VideoRendererProxy(); _remoteRenderer = new VideoRendererProxy(); _pipRenderer.Click += (sender, args) => SetSwappedFeeds(!_isSwappedFeed); _pipRenderer.SetScalingType(RendererCommon.ScalingType.ScaleAspectFit); _pipRenderer.SetZOrderMediaOverlay(true); _pipRenderer.SetEnableHardwareScaler(true); _fullscreenRenderer.Click += (sender, args) => ToggleCallControlFragmentVisibility(); _fullscreenRenderer.SetScalingType(RendererCommon.ScalingType.ScaleAspectFill); _fullscreenRenderer.SetEnableHardwareScaler(false); SetSwappedFeeds(true); var ft = SupportFragmentManager.BeginTransaction(); ft.Add(Resource.Id.call_fragment_container, _callFragment); ft.Commit(); _client = CreateEngine(); Connect(_client, Intent); }
protected void InitWebRTC() { if (webRTCClient != null) { webRTCClient.StopStream(); webRTCClient.Disconnect(); webRTCClient.Dispose(); } webRTCClient = new WebRTCClient(this, this); Intent.PutExtra(CallActivity.ExtraCapturetotextureEnabled, true); Intent.PutExtra(CallActivity.ExtraVideoFps, 30); Intent.PutExtra(CallActivity.ExtraVideoBitrate, 2500); Intent.PutExtra(CallActivity.ExtraCapturetotextureEnabled, true); SurfaceViewRenderer cameraViewRenderer = FindViewById <SurfaceViewRenderer>(Resource.Id.camera_view_renderer); SurfaceViewRenderer pipViewRenderer = FindViewById <SurfaceViewRenderer>(Resource.Id.pip_view_renderer); streamId = InitialData.DefaultStream; String tokenId = InitialData.Token;//"tokenId"; webRTCClient.SetVideoRenderers(pipViewRenderer, cameraViewRenderer); webRTCClient.SetOpenFrontCamera(webRTCMode.Equals(WebRTCClientConsts.ModePublish)); // Intent.PutExtra(CallActivity.EXTRA_VIDEO_FPS, 24); webRTCClient.Init(InitialData.SERVER_URL, streamId, webRTCMode, tokenId, Intent); }