public async Task SendCand(RTCIceCandidate cand) { var m = new SendCadidatModel { candidate = new CandidateModel { candidate = cand.Candidate, sdpMid = cand.SdpMid, sdpMlineindex = cand.SdpMLineIndex, }, uid = Uid, }; await Http.PostAsnyc(m, "sendCand"); }
private async void Conn_OnIceCandidateAsync(RTCPeerConnectionIceEvent __param0) { var Candidate = __param0.Candidate; var m = new SendCadidatModel(); m.candidate = new CandidateModel { candidate = Candidate.Candidate, sdpMid = Candidate.SdpMid, sdpMlineindex = Candidate.SdpMLineIndex }; m.uid = Uid; Candidates.Add(m); await SendCandidate(m); //await SendCand(Candidate); }
public async Task CreateReceiver(MediaStream mediaStream, long fromUid) { var conn = new RTCPeerConnection(RtcConfig); CurrentRoom.Recvs.Add(fromUid, conn); CurrentRoom.Recvs[fromUid].AddStream(mediaStream); CurrentRoom.Recvs[fromUid].OnIceCandidate += async(p) => { var Candidate = p.Candidate; var m = new SendCadidatModel(); m.candidate = new CandidateModel { candidate = Candidate.Candidate, sdpMlineindex = Candidate.SdpMLineIndex, sdpMid = Candidate.SdpMid, }; m.uid = Uid; m.fromUid = fromUid; Candidates.Add(m); await SendCandidate(m); }; CurrentRoom.Recvs[fromUid].OnAddStream += (p) => { var stream = p.Stream; var videotracks = stream.GetVideoTracks(); var source = LocalMedia.CreateMediaSource(videotracks.FirstOrDefault(), stream.Id); RemoteMediaPlayer.SetMediaStreamSource(source); RemoteMediaPlayer.Play(); }; await CreatOffer(Uid, fromUid); }
public async Task <string> SendCandidate(SendCadidatModel m) { return(await Http.PostAsnyc(m, "sendCandidate")); //return await Http.PostAsnyc(m, "reflectCand"); }