欢迎使用CSDN-markdown编辑器

之前使用WebRTC 旧版本, 更新到了最新版本. version: 1.1.20621 1.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

  1. 创建方式

    //RTCConfiguration 有很多配置信息但是我都没有使用[��]. 其实是我没去看呢...有时间补充上
    RTCConfiguration *config = [[RTCConfiguration alloc] init];
    config.iceServers = stunServerArray;
    RTCPeerConnection *connection = [factory peerConnectionWithConfiguration:config
                                                             constraints:[self  peerConnectionConstraints]
                                                                delegate:self];
    //self peerConnectionConstraints]此方法和以前一致
  2. 代理方法
    代理方法名字全部改变 但是和之前对比一样就能看出来就是改了几个字母而已….

RTCRtpSender和RTCMediaStream

RTCMediaStream 虽然未被删除, 但是我觉得RTCRtpSender就是来取代他的.

static NSString *const kARDMediaStreamId = @"ARDAMSa0";
  1. 创建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;
    }
  2. 创建VideoSender

    - (RTCRtpSender *)createVideoSender {
        RTCRtpSender *sender = [_peerConnection senderWithKind:kRTCMediaStreamTrackKindVideo streamId:kARDMediaStreamId];
        RTCVideoTrack *videoTrack = [self createVideoTrackWithDirecion:AVCaptureDevicePositionFront];
      
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值