如需帮助,请进入 SDK集成帮助
更新 JSM 版本3.70
增加加入会议中继服务功能
集成接收端 AGC Gain 控制
增加通话过程延时抖动带宽数据上报
增加查询呼叫中心等待人数接口
优化终端和接入服务器连接,优化登录的流程,登录接口需响应修改
根据性能自动调整录像帧率
添加 iOS 对播放设备运行时出错的检查
支持呼叫发送 DTMF
增加设置用户状态信息的接口
增加创建会议失败原因信息
iOS硬件H264避免后台运行
修改在 Login 时传入 AppKey 参数
呼叫中增加媒体类型,避免使用压缩 SDP 时造成服务判断错误
解决win8/win10上采集office2010窗口闪烁的问题
修改清空配置可能不生效的问题
修改等待较长时间接听通话后收不到涂鸦数据的问题
修改协商时可能出现的问题
修改可能出现的死锁问题
修改一些可能导致异常的问题
解决后台休眠时可能出现异常的问题
解决停止录制时没有立刻调用停止录制的接口的问题
解决应用层路由连通性问题
更新应用层路由版本
增加登录之后重连的通知
增加通话设置 ARS 参数的功能
增加会议本地静音接口
支持应用层路由
优化登录过程,缩短登录时间
优化日志信息
修改通话静音实现错误
修改统计信息上传中内存泄漏的问题
解决音频流没有开启时播放视频文件失败的问题
增加带宽检测功能
增加直接创建会议并加入的功能,通过该接口提供音视频通道的能力
优化 Android 编译参数,减少不需要导出的符号
Android 5.0 以上的三星、小米、华为、索尼默认使用 OS AEC
增加 avi 文件恢复功能
文档共享本地转换支持 PPT 格式
增加批量查询在线状态的功能
增加 Android 可配置按键接听的来电界面
iOS 录像使用硬件编码
增加渲染图像截图功能
支持 RUDP 协商
增加会议查询失败的原因:会议不存在
支持动态加载 Android 库文件
增加 Android X86 库文件
修复 Android 镜头开启出错后关闭不了的问题
修复 Android 镜头开启出错后还有可能关闭不了的问题
解决 iOS 硬件编码格式问题
修复预览框的镜像无法强制取消的问题
解决会议大容量测试中出现的问题
修改 Android 录制涂鸦绿屏问题
修改 iOS 通话等界面显示在 Present 末端 ViewController
修复小米 4C 没有声音的问题
修改文档共享在 Load 成功之后直接下载原图
修改文档共享可能出现的异常
修改 Windows 会议增加保存设备选择的配置
会议增加网络状态日志信息
修改会议加入失败之后没有释放会议对象的问题
改进会议界面提示
增加 Windows QT登录和呼叫 Sample
支持 Login 之后立刻 Logout
增加多方通话断网提示
分拆通话、会议、即时消息的样例工程
增加本地多方语音通话功能
增加设置和读取多个属性的接口
更新会议功能,增加文字聊天等
添加涂鸦开始和结束的类型
会议添加发送数据的接口
修改通话和会议的 ID 范围,可以区分不同业务
增加录制 MP4 文件类型
添加涂鸦接口支持增加点的间隔信息
增加预约会议接口
推荐添加参数 iVideoLevel,设置视频质量
增加会议昵称设置接口
移动平台 H264 时强制关闭 RPSI
更新 NACK 允许 RTT 为800,并设置 RTT 的初始值
支持 iOS 的上下翻转动画
允许外部集成 H264编解码
改善 PC 版本 AEC 效果
支持会议混屏 推送到 CDN
Windows 增加通话涂鸦功能
iOS 和 Android 增加会议涂鸦功能
iOS 和 Android 集成服务器发起呼叫功能
修改通话静音实现错误
改进 P2P 单通导致前10秒没声音的问题
修改默认不支持高级渲染模式,避免安装 DirectX Runtime
iOS Meeting 在后台,来电界面不显示
修改 iOS 涂鸦图片设置不正确的问题
iOS 多方通话修改小窗口按钮不显示的问题
Android 多方通话修改小窗口按钮不显示的问题
iOS 修改通话界面弹出方式
QT 登录过程中不能修改用户名密码服务器
实现会议中不在接受邀请
修复 Windows 登录后回到登录界面服务器地址不对应的问题
修改 Windows 语音通话的时候来视频通话时没有本地图像的问题
解决文件传输定时器异常的问题
修改 AndroidAPK 运行错误的问题
增加 HTTP 接口参数值判断
修改默认 NACK 最大值为800,更好适应丢包网络
修改提交模块可以在初始化之后提交
精简无效的接口
修改文件传输,增加临时文件避免失败导致文件损坏
修改登录信息查询接口,提供独立仅查询登录状态接口
兼容老版本 IM 文件类型定义
分离获取屏幕共享和摄像头设备的接口
修改 iOSConference 全屏显示时成员离开界面相关问题
修改 iOSMultiCall 未注册 Push 参数的问题
通话悬浮窗口优化
iOS 修改手机通话中可以重拨的问题
Android 修改重播键显示不正确的问题
Android 解决找不到资源造成 Crash 的问题
Android 修改常规通话的时候提示不正确的问题
Android 多方通话修改在后台时收到第二路来电无法弹出来电界面的问题
Android 修改 Conference 显示他人离开会议后显示该人全屏的画面不会消失的问题
解决不同应用在同一设备登录同一帐号不会提示离线的问题
调用 destroy 没有重置状态的问题
线程化初始化Windows 音频设备
修复 Window 复位DX 后没有立即渲染的问题
对多次开启屏幕抓屏做保护
解决先释放 Audio,再释放 Video 时候的崩溃问题
添加 Android 音频参数检测保护
修改通话设置摄像头接口参数为 NULL 导致的异常
修复多平台翻转引入的远端镜头问题
修改会议的一些错误
修复 Windows 无法下载文件的问题
修复 Windows 断网的情况下通话界面一直存在的问题
修复 Windows 取消呼叫时crash的问题
会议增加 Android,iOS 界面控件实现
增加呼叫中媒体加密设置接口
解决 IM 消息中 Account 信息不一致的问题
会议实现邀请时发送所有与会者
会议添加会议取消原因并记录邀请人员
增加涂鸦画布平移功能
iOS 涂鸦背景图片设置和开始接口分离
增加支持 iOS x86_64
增加 GCM 支持
增加涂鸦 Android 支持上下平移
修改会议相关实现
支持是否自适应采集图像调整录制编码尺寸
修改 MVD 解决通话中修改媒体参数失败导致远端图像无法显示的问题
集成 iOS AAC 编解码
实现外部解码视频流接口 Mvd_SetDecodeByPass
会议支持视图一致模式
修复拒绝邀请不成功
修复 iOS9.0 以上系统在暗处闪烁的问题
解决 Android 渲染快速切换死机
解决涂鸦在某些 Android 手机异常的问题
优化涂鸦路径显示平滑
解决涂鸦在翻页等异常情况处理问题
修改涂鸦加载多张图片内存问题
修改 iOS bundle 配置问题
Android 使用 Studio
增加涂鸦过程中同步背景图片的功能
iOS 界面接口修改为 Objective-C
涂鸦功能 iOS Android
增加登录鉴权通知的超时处理,避免一直处于登录状态
修改静态库
增加服务器地址信息日志
增加 RSA 登录时定时器,避免一致等待
修改涂鸦信息处理错误
修改通话中媒体接收状态保存错误
修改 iOS MtcApi 接口定义声明问题
增加日志提交间隔时间判断,避免频繁提交
改进 Android 语音噪音的问题
增加 UID 合法性判断
SDK 自动获取 Android、IOS 设备信息,查询对方登录信息
在结束通话接口中增加具体原因值
iOS 上默认关闭 ANR
opus 使用 16KHz 采样率
增加设置 NACK low/high rtt 阀值的接口
增加设置 NACK RTT 范围的接口
增加更多帐号相关错误日志信息
会议去掉密码功能
Android IOS 添加通话悬浮窗
Android 获取镜头时添加异常捕获处理
消息接口参数增加用户数据和显示名称
统计信息中增加采集分辨率
增加通话过程中发送数据功能
增加设置用户属性接口
集成 WindowsHttp 接口
修改通话统计信息中 CallId 不正确的问题
修改 Windows DeviceId 获取内容,增加 MAC 地址避免重复
修改 JSON 生成字符串错误类型的问题
取消默认定时发送关键帧的功能
修改 MDM 码率节省模式
改进 H264 图像质量
增加对 MMP 配置容错处理
修改 RTT 统计不准确的问题
默认码率控制修改为中等
修改日志上传增加 AppKey
修改统计信息没有上传的问题
修复 Xcode7 打包出现黑边的问题
解决 rtcp mux 设置在某些情况下没有生效的问题
解决 Android 噪声,声音小的问题
修复旋转角度小于0或大于360度出错
修复镜头 FPS 大于60时的死循环
增加 Windows C 接口头文件和库文件
支持 AccessEntry 的 pt 参数
提供 iOS Android 通话界面实现
增加公开密钥验证登录的功能
增加下载 MDM 功能
增加媒体引擎参数有效性检查
增加更详细的帐号和登录错误信息
增加通话中登出的处理
增加发起通话时携带用户自定义信息
提供 Android 和 iOS 通话功能界面封装包
增加 JNI 接口非法值检查
增加 Android 和 iOS 放大镜功能和配置接口
修改 Mtc_CallSetSpkVol 接口编译问题
增加呼叫的更详细失败信息
修改媒体引擎码率控制问题
修改 RSA 模式下接口调用错误导致登录可能失败的问题
修改 RSA 模式授权请求使用 ID
修改 iOS Push 铃声不正确的问题
修改 iOS 网络未连接发起呼叫的提示错误
修改 iOS 通话断网10秒就挂断的问题
修改通话未接通时前后台切换导致通话结束的问题
修改 iOS 来电时获取不正确 ID 的问题
修改 iOS 登录 ID 类型设置导致第二次不能登录的问题
修改多路径选择,降低丢包权重避免路径频繁切换
修改设定显示名称后加载历史记录不能关联正确联系人的问题
修复黑屏会有噪点的问题
不启用放大镜功能时采用640*480分辨率,以改善发热问题
自动下载 MDM 配置
增加发布和查询用户属性接口
发起呼叫使用 URI 避免号码和用户名混淆的问题
修改日志文件数量处理不正确的问题
增加登录失败更详细信息
修改 MDM 下载问题,更新版本号
修改增加错误情况处理
增加 IM 文件传输接口
修改界面异常的问题
更新会议版本
更新媒体引擎版本 3.55
SDK 精简
优化界面代码
增加会议功能
增加呼叫结束的状态通知
增加呼叫发送接收状态设置接口和通知
默认不使用 SRTP
修复通话统计没有获取媒体报告的问题
解决呼叫有时直接返回失败的问题
修改拼写错误
默认打开音频 ARS 功能
修改 RTX 协商没有生效的问题
更新开户、登录和呼叫的底层集成接口(呼叫转移、呼叫保持、语音视频切换功能未支持)
更新 ARC 增强连接稳定和可靠性
解决通话在连接时,主叫挂断,被叫无法挂断的问题
增加呼叫转移功能
增加呼叫保持功能
增加呼叫等待功能
增加语音和视频通话互相切换的功能
增加截屏功能
增加放大镜功能(安卓暂时还没有此功能)
增加音视频录制功能
增加统计功能的页面
iOS 支持64位
解决删除增加视频后放大镜不能放大的问题
解决呼叫等待时两路通话切换放大镜的问题
解决呼叫等待时处理两路通话音视频录制的问题
解决 hold 后不能添加视频的问题
解决 iOS 模拟器 -all_load 编译问题
Sample 使用 OpenSSL 相关文件是为了在 Sample 中测试 RSA 鉴权模式。客户不需要将 OpenSSL 相关文件导入到客户自己的 App 中。OpenSSL 相关文件包括:
iOS 平台:
include/openssl 下所有头文件
lib/ios/libcrypto.a
lib/ios/libssl.a
Android 平台:
libs/bcprov-jdk15on-152.jar
Windows 平台:
signer 目录中所有文件及工程
bin/signer.dll
会收到 MtcCallVideoReceiveStatusChangedNotification 事件通知,里面 MtcCallVideoStatusKey 的值,定义分别为:
/**< @brief Transmission is normal, 'nrml'. */
EN_MTC_CALL_TRANSMISSION_NORMAL = 0x6E726D6C,
/**< @brief Transmission is paused for camera is off, 'coff'. */
EN_MTC_CALL_TRANSMISSION_CAMOFF = 0x636F6666,
/**< @brief Transmission is paused, 'pasd'. */
EN_MTC_CALL_TRANSMISSION_PAUSE = 0x70617364,
/**< @brief Transmission is pause for QoS reason, 'pqos'. */
EN_MTC_CALL_TRANSMISSION_PAUSE4QOS = 0x70716F73,
登录接口返回 0 仅表示接口调⽤用成功,不表明登录已经成功。只有收到登录成功的事件通 知才表明登录成功。
iOS 平台:
MtcLoginOkNotification 事件通知
Android 平台:
MtcApi.MtcLoginOkNotification 事件广播
Windows 平台:
MtcApi.MtcLoginOkNotification 事件
MtcLogoutOkNotification 表示主动调用登出接口后已经登出的事件通知
MtcLogoutedNotification 表示没有调⽤用登录接口,但是收到已登出的事件。一般是当 前设备登录的帐号在其他设备上登录,导致当前设备被踢下线的时候。
现在 JusTalk Cloud 一个帐号只能在一个设备上登录。在第二个设备上登录成功之后,服 务器将通知前一个设备帐号下线。此时 UI 将收到 MtcLogoutedNotification 通知。现在 UI 如果要影响长连接的行为有两个接口,Mtc_CliNetworkChanged 和 Mtc_CliWakeup
Mtc_CliNetworkChanged 是在检测到有网络连接和没有网络连接的时候调用
没有网络连接的时候,参数为 MTC_ANET_UNAVAILABLE,这时候终端会停止 尝试连接
在有网络连接的时候,参数为 MTC_ANET_WIFI 或者 MTC_ANET_MOBILE,这 时候终端会立刻开始重试连接
Mtc_CliWakeup 是在程序切换前台和后台的时候调用
在程序切换到后台的时候,参数为 ZFALSE,这时候终端重试连接和保活发送的 间隔会拉大以减少耗电
在程序切换到前台的时候,参数为 ZTRUE,这时候终端重试连接和保活发送的间 隔会缩小
第一次重连间隔是 3秒, 之后每次重连间隔翻倍,直到10分钟为止。最终10分钟发起一次 重连。10分钟重连是指不做任何操作的情况下, 如果调⽤用 CliNetworkChanged, 或 CliWakeup 会立即重试iOS 平台:
调用 MtcCallDelegateCall 接口,第二个参数 displayName 传入自己的昵称 void MtcCallDelegateCall(NSString *number, NSString *displayName , NSString *peerDisplayName, BOOL isVideo)Android 平台:
调用 com.justalk.cloud.juscall.MtcCallDelegate.call 接口,第二个参数 displayName 传入自己的昵称 public static void call(String number, String displayName, Strin g peerDisplayName, boolean isVideo)Mtc_CallGetPeerName 是获取对方登录的 ID
Mtc_CallGetPeerDisplayName 是首先获取对方的昵称,如果没有昵称就是对方登录 的 ID。对方的昵称是对方调用 MtcCallDelegateCall 接口的第二个参数 displayName产生这个现象的原因是 B 网络恢复后,连续收到建立通话消息和结束通话消息。
A 呼叫 B 时,建立通话消息发送到服务器上,A 挂断时发送了结束通话消息,不是取消前 一个消息(服务器没有取消前一个消息的功能)。这些消息会在服务器上缓存一段时间 (60 秒)。如果 B 在缓冲的时间内网络恢复,则将收到缓存的消息。如果 B 在缓冲时间 之外网络恢复,则缓存消息已被删除,B 不会收到这些消息,也将不会出现弹出通话界面 并立刻结束的现象。 一种方式避免产⽣生这个现象,是在收到建立通话消息的时候延迟一段时间(例如 0.5 秒) 再显示通话界面,如果立刻收到结束通话的消息,就不显示通话界面。可能是没有调用初始化 CallDelegate。
iOS 平台调用 MtcCallDelegateInit 接口,类似代码如下:
- (BOOL)application:(UIApplication *)application didFinishLaunch
ingWithOptions:(NSDictionary *)launchOptions {
Zmf_AudioInitialize(NULL);
Zmf_VideoInitialize(NULL);
if (Mtc_Init(MY_APP_KEY) != ZOK) {
return NO;
}
MtcCallDelegateInit();
...
}
Android 平台调用 com.justalk.cloud.MtcCallDelegate.init 接⼝口,类似代码如下:
public class JApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
ZmfAudio.initialize(this);
ZmfVideo.initialize(this);
MtcApi.init(this, getString(R.string.JusTalkCloud_AppKey));
MtcCallDelegate.init(this);
...
}
}
上面的异常发生在内部在重连的时候,对应的对象已经释放掉了。这种是内部抛出了异 常,但不是一个问题,只有在 debug 的时候才会被 Xcode 捕获下来,你可以去掉捕获所有 异常的选项。在下图中去掉 All Exceptions 部分。
JusTalk Cloud SDK 在通话中会进行点对点探测,一般在同一个局域网之内的两个终端通 话,媒体数据会直接通过点对点的方式传输,视频质量应该比较好。但是以下几个情况下会出现质量不好的情况:
有些热点 2.4G 和 5G 网络不能直接连接,此时媒体数据将通过服务器中转,造成 了质量下降。
有些热点 2.4G 和 5G 网络可以直接连接,但是质量也不好,丢包,抖动都可能较 大,所以也造成质量下降。