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("取消通话"); } }
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; }