コード例 #1
0
        public void DidChangeRoute(ARDVideoCallView view)
        {
            var @override = AVAudioSessionPortOverride.None;

            if (_portOvveride == AVAudioSessionPortOverride.None)
            {
                @override = AVAudioSessionPortOverride.Speaker;
            }

            RTCDispatcher.DispatchAsyncOnType(RTCDispatcherQueueType.AudioSession, () =>
            {
                var session = RTCAudioSession.SharedInstance;
                session.LockForConfiguration();
                session.OverrideOutputAudioPort(@override, out NSError error);

                if (error == null)
                {
                    _portOvveride = @override;
                }
                else
                {
                    Console.WriteLine("Error overriding output port:{0}", error.LocalizedDescription);
                }
                session.UnlockForConfiguration();
            });
        }
コード例 #2
0
        public override void LoadView()
        {
            base.LoadView();
            _videoCallView                  = new ARDVideoCallView(CGRect.Empty);
            _videoCallView.Delegate         = this;
            _videoCallView.StatusLabel.Text = StatusTextForState(RTCIceConnectionState.New);
            View = _videoCallView;


            var session = RTCAudioSession.SharedInstance;

            session.AddDelegate(this);
        }
コード例 #3
0
 public void DidSwitchCamera(ARDVideoCallView view)
 {
     _captureController?.SwitchCamera();
 }
コード例 #4
0
 public void DidHangup(ARDVideoCallView view)
 {
     Hangup();
 }
コード例 #5
0
 public void DidEnableStats(ARDVideoCallView view)
 {
     _client.SetShouldGetStats(true);
     _videoCallView.StatsView.Hidden = false;
 }