之前使用WebRTC 旧版本, 更新到了最新版本. version:
1.1.206211.1.19878
(应该区别不大. cocoapods更新太费劲了)交换消息处依旧会使用伪代码. 别担心我已经注释掉了. 不会出现满目红色错误滴
更新
还是我们的小伙伴cocoapods. 只支持9.0以上咯
source 'https://github.com/CocoaPods/Specs.git'
target 'xxx' do
platform :ios, '9.0'
pod 'GoogleWebRTC'
end
pod install
变化之处
RTCIceServer 创建方式
url
为Turn Server地址. 以数组方式呈现, 多个. 第一篇文章有介绍
RTCIceServer *server = [[RTCIceServer alloc] initWithURLStrings:url
username:@"u1"
credential:@"p1"];
RTCPeerConnection
创建方式
//RTCConfiguration 有很多配置信息但是我都没有使用[��]. 其实是我没去看呢...有时间补充上 RTCConfiguration *config = [[RTCConfiguration alloc] init]; config.iceServers = stunServerArray; RTCPeerConnection *connection = [factory peerConnectionWithConfiguration:config constraints:[self peerConnectionConstraints] delegate:self]; //self peerConnectionConstraints]此方法和以前一致
- 代理方法
代理方法名字全部改变 但是和之前对比一样就能看出来就是改了几个字母而已….
RTCRtpSender和RTCMediaStream
RTCMediaStream 虽然未被删除, 但是我觉得RTCRtpSender就是来取代他的.
static NSString *const kARDMediaStreamId = @"ARDAMSa0";
创建AudioSender
- (RTCRtpSender *)createAudioSender { RTCMediaConstraints *constraints = [self defaultMediaAudioConstraints]; RTCAudioSource *source = [_factory audioSourceWithConstraints:constraints]; RTCAudioTrack *audioTrack = [_factory audioTrackWithSource:source trackId:kARDAudioTrackId]; RTCRtpSender *sender = [_peerConnection senderWithKind:kRTCMediaStreamTrackKindAudio streamId:kARDMediaStreamId]; if (audioTrack) { sender.track = audioTrack; } return sender; } //MARK : kRTCMediaConstraintsLevelControl : 按照字面意思理解是等级控制. 暂时为true. 具体功能没测试出来 - (RTCMediaConstraints *)defaultMediaAudioConstraints { RTCMediaConstraints *constraints = [[RTCMediaConstraints alloc] initWithMandatoryConstraints: @{ kRTCMediaConstraintsLevelControl : kRTCMediaConstraintsValueTrue} optionalConstraints:nil ]; return constraints; }
创建VideoSender
- (RTCRtpSender *)createVideoSender { RTCRtpSender *sender = [_peerConnection senderWithKind:kRTCMediaStreamTrackKindVideo streamId:kARDMediaStreamId]; RTCVideoTrack *videoTrack = [self createVideoTrackWithDirecion:AVCaptureDevicePositionFront];