音视频通话 iOS 端更新日志

[3.7.0] - 2017-05-10

新增

  • SDK优化了音视频相关的统计功能,方便实时排查音视频通话过程中遇到的问题,并对相关流程进行优化,提高稳定性,建议开发者更新此版本

修正

  • 修正自己的音量不回调的问题

[3.6.0] - 2017-04-27

新增

  • 支持单独控制视频预览的开启和关闭,满足进入音视频之前预览和结束音视频之后继续预览等使用场景
  • 新增禁止发送视频的设置接口,可以在不关闭摄像头的情况下停止视频数据的发送
  • 支持音视频过程中动态切换视频采集的方向,满足互动直播的横竖屏动态切换需求
  • 支持指定发送前视频画面裁剪比例,可以指定为 16:9、4:3 和 1:1 裁剪
  • 支持指定视频采集数据的画面格式,可以指定为 420f、420v 和 ARGB 三种格式。
  • 发送视频接口新增支持 420v 格式,并且可以改变回调画面中的宽高

变更

  • NIMNetCallOption 中与视频采集相关的参数移到 NIMNetCallVideoCaptureParam 中,如果你想 SDK 自动控制视频采集,请在发起、接受和加入音视频时传入的 option 中 设置 videoCaptureParam
  • NIMNetCallOptiondisableVideoCropping 选项变更为 videoCrop,老版本只能指定是否做 16:9 裁剪,现在可以自定义为预设的裁剪比例了

[3.5.5] - 2017-03-29

新增

  • 新增视频采集方向设置, 主要用于支持互动直播时的横屏直播
  • 支持横屏时的 16:9 裁剪

[3.5.0] - 2017-03-15

新增

  • SDK 现在以 .framework 形式提供。
  • 新增通话录音功能, 可以录制通话中所有参与者的声音并保存为 aac 或 wav 文件
  • 新增 alwaysKeepCalling 参数, 用于设置被叫离线时是否仍然需要持续呼叫
  • 新增录制对方音视频功能,并保存为 MP4 文件
  • 新增本地视频截图,并新增接口snapshotFromLocalVideoCompletion:
  • 点对点视频支持接通前预览

变更

  • NIMNetCallType 变为 NIMNetCallMediaType, 涉及点对点通话的 主叫发起通话被叫收到呼叫切换网络通话类型 三个接口中的通话类型参数,以及加入多人会议的 音视频类型 参数

  • MP4视频录制接口的合并调整,调整后本地录制与对端录制使用同一套接口

    • 开始录制接口从startLocalRecording:videoBitrate:变更为startRecording:videoBitrate:uid:,新增了用户 userId 参数
    • 结束录制接口从stopLocalRecording:变更为stopRecordingWithUid:,新增了用户 userId 参数
    • 开始回调从onLocalRecordStarted:fileURL:变更为onRecordStarted:fileURL:uid:,新增了用户 userId 参数
    • 错误回调从onLocalRecordError:callID:变更为onRecordError:callID:uid:,新增了用户 userId 参数
    • 结束回调从onLocalRecordStopped:fileURL:变更为onRecordStopped:fileURL:uid:,新增了用户 userId 参数

[3.4.1] - 2017-02-09

修正

  • 修复设置了 apnsPayload option 以后,发起音视频或者白板通话请求失败的问题

变更

  • 点对点网络通话状态通知 onCall:status 变更为 以下两个接口:
    • 通话建立成功:onCallEstablished:
    • 通话异常断开:onCallDisconnected: withError:

[3.3.0] - 2016-12-28

新增

  • 新增文件混音功能,支持实时音视频中开始、暂停、恢复及停止文件混音,支持设置文件播放次数、发送音量和播放音量
  • 新增支持高清语音,提供高采样率语音,提高通话体验
  • 新增网络探测功能,可探测通话网络的连通性、丢包率和延迟等信息

[3.2.0] - 2016-11-30

新增

  • 新增语音前处理开关设置,可以选择性关闭语音降噪和人声检测等功能
  • 网络状况增加用户 id 参数,以区分不同用户的网络状况

变更

  • 网络状况回调接口从 onCall:netStatus: 变更为 onNetStatus:user:,增加了用户 id 参数
  • 网络状况查询接口 从netStatus 变更为 netStatus:,增加了用户 id 参数

[3.1.0] - 2016-10-26

变更

  • 不再兼容 iOS 6.x 系统, 从 iOS 7.0 开始支持
  • 请把工程中依赖的系统 c++ 库从 libstdc++.6.0.9.tbd 改为 libc++.tbd

[3.0.0] - 2016-10-20

新增

  • 正在说话的用户及音量信息回调
  • 支持实时开始或结束互动直播推流

[2.9.0] - 2016-09-19

新增

  • 视频采集画面回调和发送,用于应用实现美颜等功能
  • 音频采集画面回调和发送,用于应用实现变声等功能
  • 摄像头切换完成回调,主要用于视频回调开启时,处理前置摄像头画面的镜像翻转

变更

  • NIMRTSRequestHandlerNIMRTSResponseHandler 增加 参数 channelID

[2.7.0] - 2016-08-11

新增

  • 支持通话中实时切换视频分辨率
  • 新增视频发送帧率设置
  • 多人会议新增错误回调

[2.6.0] - 2016-07-25

新增

  • 提高视频清晰度,新增支持 720P 和 480P 两个等级;默认清晰度提高到高清
  • 新增 iOS 8.0 以上系统视频硬件编解码支持,并可以在视频过程中实时切换软硬件编码
  • 新增视频发送码率设置支持,并可以在视频过程中实时改变码率
  • 新增初始摄像头位置参数,现在可以以后置摄像头开始视频聊天了
  • 新增通话结束时自动结束 AudioSession 开关
  • 新增获取网络层 log 文件路径接口

变更

  • NIMNetCallMeeting 中与音视频通话能力相关的参数(清晰度、裁剪、录制、旋转等)全部合并移到 option

[2.5.0] - 2016-07-08

新增

  • 新增是否自动旋转远端画面的设置 autoRotateRemoteVideo

[2.4.0]- 2016-06-02

新增

  • 新增服务器录制信息回调接口 onNetCallRecordingInfo:,提供录制的音频和视频文件信息
  • 兼容 IPv6
  • 所有接口添加 nullablity 特性和泛型特性,使得 swift 接入更简单

[2.3.0] - 2016-05-18

新增

  • 新增多人会议,支持视频会议和语音会议。
  • 支持对某用户的音频和视频静音操作。
  • 支持对端画面自动旋转。

变更

  • 请在你的xcode工程中添加 NIMSDK 的新依赖库 VideoToolbox.framework

  • NIMNetCallManager 变更 远程视频YUV数据就绪 接口 ​

    - (void)onRemoteYUVReady:(NSData *)yuvData
                       width:(NSUInteger)width
                      height:(NSUInteger)height
    

    增加参数user,改为

    - (void)onRemoteYUVReady:(NSData *)yuvData
                       width:(NSUInteger)width
                      height:(NSUInteger)height
                        from:(NSString *)user
    

[2.2.0] - 2016-04-28

修正

  • 优化性能。

新增

  • 新增服务端录制音频和视频开关参数。
  • 增加全国多节点、直连与中转智能网络路由探测机制。

[2.1.0] - 2016-03-24

新增

  • 发起点对点通话请求增加可定制的 APNS 推送参数,现在可以设置是否推送、推送角标处理、推送声音和 Playload 等参数了。

变更

  • NIMNetCallOptionNIMRTSOptionmessage 参数改名为 apnsContent

[1.8.0] - 2016-01-18

新增

  • NIMNetCallManager 添加本地录制接口

    - (BOOL)startLocalRecording:(NSURL *)filePath
                videoBitrate:(UInt32)videoBitrate
    

变更

  • NIMNetCallManager 变更主叫发起通话接口 和 被叫响应呼叫接口

    主叫发起通话接口:

    - (void)start:(NSString *)callee
          type:(NIMNetCallType)type
    completion:(NIMNetCallStartHandler)completion
    

    改为

    - (void)start:(NSArray *)callees
          type:(NIMNetCallType)type
        option:(NIMNetCallOption *)option
    completion:(NIMNetCallStartHandler)completion
    

    被叫响应呼叫接口:

    - (void)response:(UInt64)callID
           accept:(BOOL)accept
       completion:(NIMNetCallResponseHandler)completion
    

    改为

    - (void)response:(UInt64)callID
           accept:(BOOL)accept
           option:(NIMNetCallOption *)option
       completion:(NIMNetCallResponseHandler)completion
    

    接口新增 推送文案自定义扩展字段

    接口新增 指定期望的发送视频清晰度 参数,用于开发者不满足于默认清晰度时传入更期望的清晰度

    接口新增禁用视频裁剪参数,用于开发者不希望SDK为了优化运算性能和网络占用而裁剪发送视频

  • NIMNetCallManagerDelegate 被叫收到呼叫回调增加参数extendMessage

    被叫收到呼叫 回调接口:

    - (void)onReceive:(UInt64)callID
                 from:(NSString *)caller
                 type:(NIMNetCallType)type
    

    改为

     - (void)onReceive:(UInt64)callID
                  from:(NSString *)caller
                  type:(NIMNetCallType)type
               message:(NSString *)extendMessage
    

[1.7.0] - 2015-12-01

修正

  • 修正音视频聊天,视频模式切换到音频模式,再回到视频,弱网下对端会累积延迟的问题。
  • 修正视频聊天切换前后摄像头以后,弱网累积延迟的问题。

[1.6.0] - 2015-11-02

修正

  • 修正iPhone4 音视频通话闪退的问题。

[1.5.0] - 2015-09-29

新增

  • 增加bitcode编译选项,更好地支持XCode7和iOS9
  • 视频聊天增加接口 -(void)onRemoteYUVReady:width:height:
  • 可以用得到的yuv数据直接OpenGL渲染远程画面
  • 优化了弱网络下的视频聊天体验

[1.1.0] - 2015-05-25

新增

  • 新增音视频通话功能