public override void ViewDidLoad() { base.ViewDidLoad(); /* LocalMedia represents our local camera and microphone (media) configuration */ localMedia = new LocalMedia(this); if (ObjCRuntime.Runtime.Arch == ObjCRuntime.Arch.DEVICE) { /* Microphone is enabled by default, to enable Camera, we first create a Camera capturer */ camera = localMedia.AddCameraTrack(); } else { localVideoContainer.Hidden = true; pauseButton.Enabled = false; flipCameraButton.Enabled = false; } /* * We attach a view to display our local camera track immediately. * You could also wait for localMedia:addedVideoTrack to attach a view or add a renderer. */ if (camera != null) { camera.VideoTrack.Attach(localVideoContainer); camera.VideoTrack.Delegate = this; } /* For this demonstration, we always use Speaker audio output (vs. TWCAudioOutputReceiver) */ TwilioConversationsClient.SetAudioOutput(AudioOutput.Speaker); }
public void DidStopListeningForInvites(Twilio.Conversations.TwilioConversationsClient conversationsClient, Foundation.NSError error) { if (error != null) { Console.WriteLine("Successfully stopped listening for Conversation invites"); twilio = null; } else { Console.WriteLine($"Stopped listening for Conversation invites (error): {error.Code}"); } }
public async override void ViewDidLoad() { base.ViewDidLoad(); listeningStatusLabel.Text = "Attempting to listen for Invites..."; var token = await GetIdentity(); TwilioConversationsClient.LogLevel = LogLevel.Verbose; twilio = TwilioConversationsClient.From(token, this); twilio.Listen(); }