示例#1
0
        public static IMediaStreamTrack Create(MediaStreamTrackKind mediaStreamTrackKind, string id)
        {
            Webrtc.RTCMediaStreamTrack nativeMediaStreamTrack = null;

            switch (mediaStreamTrackKind)
            {
            case MediaStreamTrackKind.Audio:
                var nativeAudioSource = WebRTCme.WebRtc.NativePeerConnectionFactory.AudioSourceWithConstraints(
                    /*null*/ new Webrtc.RTCMediaConstraints(null, null));
                nativeMediaStreamTrack = WebRTCme.WebRtc.NativePeerConnectionFactory
                                         .AudioTrackWithSource(nativeAudioSource, id);
                break;

            case MediaStreamTrackKind.Video:
                var nativeVideoSource = WebRTCme.WebRtc.NativePeerConnectionFactory.VideoSource;
                nativeMediaStreamTrack = WebRTCme.WebRtc.NativePeerConnectionFactory
                                         .VideoTrackWithSource(nativeVideoSource, id);
                break;
            }

            return(new MediaStreamTrack(nativeMediaStreamTrack));
        }
示例#2
0
 private MediaStreamTrack(Webrtc.RTCMediaStreamTrack nativeMediaStreamTrack) : base(nativeMediaStreamTrack)
 {
 }
示例#3
0
 public static IMediaStreamTrack Create(Webrtc.RTCMediaStreamTrack nativeMediaStreamTrack)
 {
     return(new MediaStreamTrack(nativeMediaStreamTrack));
 }
示例#4
0
 private RTCTrackEvent(Webrtc.RTCMediaStreamTrack nativeTrack)
 {
     _nativeTrack = nativeTrack;
 }
示例#5
0
 public static IRTCTrackEvent Create(Webrtc.RTCMediaStreamTrack nativeTrack) =>
 new RTCTrackEvent(nativeTrack);