예제 #1
0
        protected override void OnClosed(bool p_result)
        {
            Inst = null;

            // 未挂断时,请求挂断
            if (!p_result)
            {
                AtMsg.HangUp(Kit.UserID, _detail.OtherID, false);
            }

            var js = @"if(element.PeerConnection) element.PeerConnection.Close();";

            this.ExecuteJavascript(js);

            if (_timer != null)
            {
                _timer.Dispose();
                _timer = null;

                TimeSpan span = DateTime.Now - _startTime;
                string   msg  = string.Format("通话时长 {0:mm:ss}", new DateTime(span.Ticks));
                _detail.SendMsg(msg);
            }
            else
            {
                _detail.SendMsg("取消通话");
            }
        }
예제 #2
0
        async void OnAccept(object sender, RoutedEventArgs e)
        {
            // 确认设备权限
            if (!await VideoCaller.ExistMediaDevice())
            {
                Close(true);
                Kit.Warn("打开摄像头或麦克风出错!");
                await AtMsg.RefuseRtcConnection(Kit.UserID, _other.ID);

                return;
            }

            _tbInfo.Text = $"已接受 [{_other.Name}] 的邀请...";
            await AtMsg.AcceptRtcConnection(Kit.UserID, _other.ID);

            _gridBtn.Visibility = Visibility.Collapsed;
            _btnEnd.Visibility  = Visibility.Visible;
        }