互动直播 iOS 端更新日志
[7.7.0] - 2020-05-27
新增
- 新增音视频连接状态查询接口
getConnectStatus
修复
- 修复iOS上偶现某些情况下远端画面出现撕裂的情况。
[7.5.0] - 2020-03-31
优化
- 首帧耗时优化。
[7.3.0] - 2020-03-02
优化
- 优化SDK的稳定性。
修复
- 修复了iOS上某些情况下退出再进入房间可能造成没有声音的问题。
[7.1.0] - 2019-12-17
新增
- 新增远端视频展示类型参数
remoteViewoShowType
,默认采用回调View,SDK渲染远端数据的方式。 - 音频接收端可以获得远端原始音频数据PCM,新增接口
registerRemoteAudioCallBackWithUid:
和registerPlayAudioCallBack:
。 - 新增音频播放采样率参数
playbackSampleRate
。 - 编码默认改为硬件编码,解码默认改为硬件解码。
- 互动直播支持占位布局,详情参考服务端。
- 互动直播的房间推流支持动态更新推流布局,详情参考服务端。
优化
- 下行QoS策略优化
[7.0.1] - 2019-11-20
修复
- 修复了低概率偶发的崩溃问题,优化音视频的稳定性
[6.10.1] - 2019-11-04
修复
- 优化多人音视频场景下的稳定性,修复客户端可能存在的客户端崩溃风险
[6.10.0] - 2019-10-29
新增
- 互动直播新增房间推流方式,新增参数
bypassTaskConfig
。 - 视频订阅支持端到端QoS策略,新增接口
setPubishFallBack:
设置QoS策略。 - 支持预览分辨率和发送分辨率分别设置,新增参数
previewVideoQuality
设置预览分辨率,新增接口switchPreviewVideoQuality :
修改预览分辨率。 - 删除了高视频预览质量参数
highPreviewQuality
。 - iOS平台的默认音频模式从基础通话模式修改为高清通话模式
preferHDAudio
默认改为YES。 - 适配iOS 13。
优化
- 优化通话某些情况下拿到对方首帧画面慢的延迟问题。
[6.8.2] - 2019-8-23
优化
- 修复了偶发的无声音问题。
[6.8.1] - 2019-8-14
优化
- 优化了音量输出。
[6.8.0] - 2019-8-13
新增
- 新增支持发布视频双流的Beta版本。
- 新增远端视频渲染回调 View 的模式,
- 新增接口
onRemoteDisplayviewReady:user:
回调远端渲染的view。 - 新增接口
remoteDisplayViewWithUid:
查询对应的视频渲染view。 - 新增接口
setRemoteRenderModel:forUser:
设置对应用户的远端渲染层的显示模式,拉伸、等比例缩放等。
- 新增接口
优化
- 提升白板稳定性。
修复
- 修复了iOS音视频登陆失败导致的挂断问题。
[6.6.7] - 2019-7-17
新增
- 新增iOS音频的双声道采集,通过不同声道选路的方式解决某些机型在特定场景下的音量和回声问题。
修复
- 修复了iOS在Swift环境下获取当前混音任务时触发的崩溃问题。
[6.6.0] - 2019-6-25
新增
- 新增视频订阅相关功能,具体内容参考:音视频订阅
变更
onNetCallRecordingInfo
回调中audioRecordFileName
与videoRecordFileName
参数无效。- 网络状态
NIMNetCallNetStatus
枚举中去掉了枚举类型NIMNetCallNetStatusVeryGood
与NIMNetCallNetStatusVeryBad
对参数进行了精简。 - 音频场景模式
NIMAVChatScene
去掉了自适应高清NIMAVChatSceneHighQualityMusicAdaptive
。
优化
- 优化了高清音乐和高清语音模式,实现带宽自适应
- 优化了卡顿率上报,实现渲染层的卡顿率上报
- 优化了网络回调准确性,增加带宽限制的网络影响
- 优化了耳机插拔多次导致的AEC失效问题
[6.4.0] - 2019-4-26
新增
- iOS/macOS:新增开启自定义视频输入接口,并支持通话过程中切换
startCustomVideo:
- 新增音频外部播放设备状态回调
onAudioExternalDeviceStateChanged:
- 新增选择音频外部设备类型接口
selectAudioExternalDevice:
- 新增开关AudioDump的接口
startAudioDump:
和stopAudioDump:
- 新增是否关闭SDK AudioSession配置参数
disEnableAudioSessionConfigration
- 新增主动上传日志的接口
startUploadLogWithRate:
变更
- iOS/macOS:代理参数新增云信自定义类型
NIMSocksTypeNRTCProxy
修复
- 修复白板在网络断开恢复后的崩溃
- 修复点对点白板下开启服务端音频录制录制失败的问题
- 修复视频本地数据回调自定义前处理失效的问题
[6.2.0] - 2019-3-14
新增
- iOS新增屏幕共享功能:iOS新增屏幕共享功能,主要满足教育场景平板上进行屏幕共享的需求。 iOS跨应用的屏幕共享功能依赖系统组件ReplayKit采集画面,并通过自定义数据输入进行画面数据的发送。此功能的系统版本要求为iOS 11+。
[6.1.1] - 2019-2-15
变更
- iOS/macOS:修复一些BUG,提升音视频体验
[6.0.0] - 2019-1-11
新增
- iOS/macOS:新增音效管理接口,支持播放背景音乐的同时,通过该接口播放鼓掌/撒花等短音效
变更
- iOS/macOS:本地MP4录制变更为带可选视频参数接口
startRecording:option:uid:
[5.8.0] - 2018-11-13
新增
- iOS新增距离传感器开关,解决部分客户因为自动切换听筒模式而产生的音量过小的问题
- iOS新增AGC参数设置,可通过此接口实现音频自动增益的效果
- iOS/macOS:新增音视频设备管理接口
- iOS新增音视频代理接口
- macOS:新增插拔耳机监听
- macOS:音视频支持屏幕共享功能,提供单独接口供开发者调用。
变更
- masOS:无麦克风设备的支持
- macOS:支持外部摄像头采集1080p,前处理性能优化
[5.6.0] - 2018-8-30
新增
- 增加了 网络状况回调接口
onNetStat:user:
可以获得当前通话每个用户对应的 网络质量、RTT 和 音视频的丢包率等信息 - 增加了 音视频socks5代理
NIMNetCallSocks5 *socks5info;
, 可搭建开源的socks5代理服务器并在SDK配置对应的代理地址和端口,实现内外网之间的互通。 - 新增了外部自定义音频输入接口,支持麦克风采集人声和点播文件音频流的混音发送。
- 新增了音频采集异常回调
onAudioDeviceCaptureAbnormal
,以及异常恢复回调onAudioDeviceCaptureRecover
。 - 新增被踢回调
onKicked
,表示用户被服务器踢出。
[5.5.0] - 2018-08-07
变更
- 去掉了啸叫抑制参数
[5.4.0] - 2018-7-10
新增
- 多人音视频服务端录制开放客户试用
- 多人音视频服务端录制能力本期面向客户开放试用,本期提供应用粒度画廊模式固定合图模式。如有需要,请联系网易云信商务经理开通功能试用。
- 全员静音功能,禁止播放所有远端音频流 。
- 丰富伴音功能,支持进度条控制和云端文件播放 。
- 新增通过兴趣点坐标设置实现手动曝光。
[5.2.0] - 2018-5-24
新增
- 预览效果优化
- 新增高预览质量参数
highPreviewQuality
, 打开后将提供高质量的本地视频预览,在较老的机器上可能会影响性能。 - 并且将默认在用户设置分辨率较小时,提供较好的预览效果。
- 同时优化在切换分辨率时的用户体验。
- 新增高预览质量参数
- 新增资源释放回调
onResourceFreed
,音视频资源释放完成后将会进行回调。 - 新增音频设备适配框架,适配机型持续增加。
- 这些适配针对特定机型进行参数适配,能够有效解决因为前处理导致的回声、杂音、啸叫、音量低等问题,效果更佳。
[5.0.1] - 2018-4-13
修复
- 修复自动重置音频设备可能造成的问题。
[5.0.0] - 2018-3-29
新增
【重要优化】高清音乐模式全面升级,针对音乐教学陪练场景定制优化
- 支持全频带音质,采集与前处理均支持48KHz音频,乐器的高音信息可以很好地保留,音质更佳;
- 使用音乐编码器,更匹配音乐场景,保留更多音频细节,音质更佳;
- 提高音频专属带宽,定制音乐场景下的QoS调控策略,提高抗抖动能力,不丢不卡更流畅;
互动直播音视频连麦人数提升
- 互动直播音视频连麦人数从4人(1+3)提升到5人(1+4),超过4人的音视频连麦布局仅支持自定义布局。至此,互动直播的连麦人数限制为:音视频支持5人(1主播+4连麦者,提供4种固定布局支持1+3模式,提供自定义布局灵活配置)、纯音频支持13人(1主播+12人连麦,需要全部都是纯音频)。
新增互动直播场景下,主播设置某一个视频连麦者为主画面的功能。
新增集成 WebRTC apm,优化高清音乐场景用户体验
- 新增了软件音频回声抑制,并增加了可选的设置参数
acousticEchoCanceler
,一般不需要开发者设置
- 新增了软件音频回声抑制,并增加了可选的设置参数
音视频客户端自动重连
- 服务器超时断开时,客户端新增自动重连机制
新增互动直播场景下动态切换布局。
- 新增互动直播场景下,主播设置某一个视频连麦者为主画面的功能,通过接口
setAsMainArea
来设置。
- 新增互动直播场景下,主播设置某一个视频连麦者为主画面的功能,通过接口
新增了音频重置开关
- 新增了音频重置开关
autoResetAudio
,当检查音频采集数据不正常时,自动重置音频设备。
- 新增了音频重置开关
新增极端网络下关闭视频的回调
- 新增极端网络下关闭视频的回调,新增了枚举值
NIMNetCallNetStatusVideoClosed
。
- 新增极端网络下关闭视频的回调,新增了枚举值
变更
- 高清音乐和自适应高清音乐场景生效时,SDK 不再自动关闭降噪和人声检测,如果需要保持该逻辑,开发者可以按照开发手册的推荐配置手动设置相应开关
修复
- 修复了某些 iPad Pro 2 设备的回声问题
- 在音频采集异常时尝试再次启动 AudioSession
[4.9.0] - 2018-2-11
新增
新增屏幕共享场景调控策略
NIMAVChatVideoAdaptiveStrategyScreenRecord
,支持通话过程调控策略动态切换,可以通过接口selectVideoAdaptiveStrategy
进行切换。提供完全关闭音频的纯视频功能,可以通过
option
中的pureVideo
参数来进行设置,优化IOS音视频与应用本身播放音乐的兼容性。
[4.7.3] - 2018-1-25
修复
- 优化与V4.2.0之前版本的视频通话效果,提升音视频服务体验。
[4.7.1] - 2018-1-17
修复
- 修复已知问题,优化音频抗丢包能力。
[4.7.0] - 2018-1-9
新增
新增耳返功能。当主播想要从耳机中听到自己的声音时,可以开启耳返。一般使用在主播开启伴音,主播戴上耳机,随着伴奏说话唱歌,可以从耳机中实时听到融合了音乐和自己人声的声音。
- 开启耳返
startEarBack
- 关闭耳返
stopEarBack
- 设置耳返音量
changeEarBackVolume
- 开启耳返
全面提升音视频抗丢包能力,优化弱网下音视频表现。
在
NIMNetCallVideoCaptureParam
视频采集参数中新增前处理参数集videoProcessorParam
,预览镜像参数isPreviewMirror
与编码镜像参数isCodeMirror
。
变更
- 原前处理参数
provideLocalVideoProcess
被删去,变更为videoProcessorParam
前处理参数集。
[4.5.0] - 2017-11-23
新增
- 网络探测功能细化 支持按照视频质量档位(NIMNetCallVideoQuality)进行网络探测,支持6个视频质量档位+纯音频探测粒度的网络探测。客户可以根据视频质量需要进行针对性的网络探测,网络探测的结果可以提供更加精准的参考。
- 新增
设置是否关闭语音发送
接口,该接口可同时关闭语音和伴音发送 - 优化互动直播音视频流畅性,提升互动直播服务质量。
- 解决方案 Demo 适配 iOS 11
变更
- 开始网络探测 接口从
startDetectTaskForVideo:completion:
变更为startDetectTaskForDetectType:completion:
参数videoOrAudio
变更为detectType
探测类型支持选择清晰度档位。
[4.3.0] - 2017-10-13
新增
- 优化视频 QoS 调控策略, 通过码率、帧率和分辨率的自动调节保证用户体验,并且可以通过 option 中的参数
videoAdaptiveStrategy
选择偏好的调控策略为质量优先或流畅优先 - 网络探测接口新增视频网络探测, 现在可以在发起网络探测时选择视频探测还是音频探测了
- 支持登录前调用视频预览相关接口
- 互动直播混屏模式新增
自定义音频布局
配置,可以在音频互动直播中配置参与连麦直播的人数 - 升级 opus 编码器到 1.2.1 版本
- 音视频网络状况汇报新增档位
网络极差
,该档位下建议关闭视频数据发送
变更
互动直播混屏参数
bypassStreamingVideoMixMode
和bypassStreamingVideoMixCustomLayoutConfig
参数分别变更为bypassStreamingMixMode
和bypassStreamingMixCustomLayoutConfig
开始网络探测 接口从
startDetectTask:
变更为startDetectTaskForVideo:completion:
网络状况枚举
NIMNetCallNetStatusVeryBad
含义变更,并增加NIMNetCallNetStatusPoor
修复
- 修复 Xcode 9 编译应用在 iOS 11上运行,本地预览画面显示很晚的问题
[4.1.0] - 2017-08-08
新增
- 新增自定义视频数据输入功能, 在
NIMNetCallOption
类中新增自定义视频数据输入参数customVideoParam
- 新增啸叫抑制功能
audioHowlingSuppress
- 新增自适应高清音乐场景
NIMAVChatSceneHighQualityMusicAdaptive
, 在频道只有一个发言者其他都为观众时对发言者生效
[3.9.1] - 2017-06-29
新增
- 新增 WebRTC 兼容开关
webrtcCompatible
, 在 预订房间 时通过option
设置, 在有 WebRTC 客户端参与的房间中需要打开该开关, 该 WebRTC 为 Beta 版, 如果没有 WebRTC 客户端参与, 不要打开该开关
修复
- 修复已知问题
[3.9.0] - 2017-06-23
新增
- 优化了音乐效果
- 优化了弱网环境下的声音效果
- 新增场景参数
scene
, 可以在高清语音开启时设置高清音乐场景NRTCChannelSceneHighQualityMusic
- 新增视频清晰度 540P
- 新增互动直播视频画面混屏自定义布局配置
bypassStreamingVideoMixCustomLayoutConfig
, 可以在视频混频模式bypassStreamingVideoMixMode
为NIMNetCallVideoMixModeCustomLayout
时设置该自定义布局配置 - 新增互动直播状态回调
onBypassStreamingStatus:
- 新增摄像头设置,支持
- 改变摄像头焦距功能
- 手动对焦模式,可在手动对焦与自动对焦模式中进行切换
- 切换视频清晰度回调接口
- 切换视频采集方向回调接口
- 开启闪光灯
- 新增视频前处理,支持
- 美颜滤镜,支持自然,粉嫩,怀旧,黑白四款
- 设置磨皮强度,对比度强度
- 设置视频预览镜像及编码镜像
- 添加水印,支持静态水印及动态水印
变更
- 本地视频预览层画面回调从
onLocalPreviewReady:
变更为onLocalDisplayviewReady:
参数类型从CALayer 变为 UIView - 获取本地视频预览层从
localPreviewLayer
变更为getDisplayView:
返回值类型从CALayer 变为 UIView - 前后摄像头切换回调从
onCameraSwitchedTo:
变更为onCameraTypeSwitchCompleted:
- 视频裁剪参数
videoCrop
从NIMNetCallOption
移到了NIMNetCallVideoCaptureParam
[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
NIMNetCallOption
的disableVideoCropping
选项变更为videoCrop
,老版本只能指定是否做 16:9 裁剪,现在可以自定义为预设的裁剪比例了- 去掉了动态开关互动直播推流的设置接口
setBypassStreamingEnabled:
,以及相关的设置完成的回调onSetBypassStreamingEnabled:result:
,请改为通过视频预览实现直播前预览功能。如果你的应用强烈依赖该接口,请暂时不要升级 SDK
[3.5.5] - 2017-03-29
新增
- 新增视频采集方向设置, 主要用于支持互动直播时的横屏直播
- 支持横屏时的 16:9 裁剪
[3.5.0] - 2017-03-15
新增
- SDK 现在以
.framework
形式提供。 - 新增通话录音功能, 可以录制通话中所有参与者的声音并保存为 aac 或 wav 文件
- 新增录制对方音视频功能,并保存为 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.0] - 2017-01-20
新增
- 新增服务器录制参数
bypassStreamingServerRecording
[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
新增
- 视频采集画面回调和发送,用于应用实现美颜等功能
- 音频采集画面回调和发送,用于应用实现变声等功能
- 摄像头切换完成回调,主要用于视频回调开启时,处理前置摄像头画面的镜像翻转
[2.7.0] - 2016-08-11
新增
- 新增互动直播功能
- 支持主播和观众实时互动连麦,合并直播
- 支持视频连麦和音频连麦
- 支持互动直播过程中动态切换推流地址