差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
后一修订版 两侧同时换到之后的修订记录
im:server:basics:recordfiledownload [2019/10/29 06:14]
simon.fu [实时音视频录制文件获取]
im:server:basics:recordfiledownload [2019/12/05 02:52]
huanxinfudh [实时音视频录制文件获取]
行 9: 行 9:
   * 如果需要其他格式,用户可以自己下载转换,转换工具建议用ffmpeg。   * 如果需要其他格式,用户可以自己下载转换,转换工具建议用ffmpeg。
   * 获取录制文件后,如果需要下载,需要通过文件详情中的URL直接下载保存。   * 获取录制文件后,如果需要下载,需要通过文件详情中的URL直接下载保存。
 +  * SDK开启录制
 +    * [[http://​sdkdocs.easemob.com/​apidoc/​android/​chat3.0/​classcom_1_1hyphenate_1_1chat_1_1_e_m_call_manager.html#​af7447a6669e37d5d0bbf976b098b435b|android 1v1]]
 +    * [[http://​sdkdocs.easemob.com/​apidoc/​android/​chat3.0/​classcom_1_1hyphenate_1_1chat_1_1_e_m_conference_manager.html#​a6a9bd493a33203869d37780d7f8cdbfe|android 多人]]
 +    * [[http://​sdkdocs.easemob.com/​apidoc/​ios/​chat3.0/​protocol_i_e_m_call_manager-p.html#​a429bded3e8040875d02e84936cd75521|iOS 1v1]]
 +    * [[http://​sdkdocs.easemob.com/​apidoc/​ios/​chat3.0/​protocol_i_e_m_conference_manager-p.html#​a7cd6cdf1b116964fe114d700baf26dc6|iOS 多人]]
 +    * [[im/​web/​basics/​videocall#​集成步骤|web 1v1]]
 +    * [[im/​web/​basics/​multiuserconference#​用户a创建会议|web 多人]]
 +  * 获取录制文件时所需要的confrId,可以从SDK中获取,下面以新版本SDK属性名称为例,老版本以各端SDK头文件内的属性名称为准。
 +    * 移动端:
 +      * iOS:
 +        * 1v1时:在监听通话建立完成的回调中 - (void)callDidConnect:​(EMCallSession *)aSession,通过 aSession.serverVideoId 获取(serverVideoId为 EMCallSession 的属性,只有在通话建立完成后通过 EMCallSession 才能拿到 serverVideoId,否则在通话未建立完成时通过 EMCallSession 取到 serverVideoId 的为空)
 +        * 多人时:在创建并加入会议 createAndJoinConferenceWithType 或者加入会议室 joinConferenceWithConfId 成功后,通过回调中的 EMCallConference 对象 aCall.confId 获取到
 +      * 安卓:
 +        * 1v1时:在通话状态改变的监听中 void onCallStateChanged (CallState callState, CallError error),通过判断 callState 的状态为 connected 通话建立完成时,通过 EMCallSession 的 getServerRecordId () 获取到录制文件id
 +        * 多人时:在创建并加入会议 createAndJoinConference 或者加入会议室 joinConference 成功后,通过 callback 中的 EMConference 对象 调用 getConferenceId () 获取到
 +    * web端:1v1时为WebIM.call.getServerRecordId();多人时可以在createConference的回调里拿到,参考 [[im/​web/​basics/​multiuserconference#​用户a创建会议|创建会议]]
 +
 +**注意:** ​
 +
 +''​1、通话时长<​5s可能会出现服务器录制失败的情况。''​
 +
 +''​2、生成录制文件所花的时间和通话时长有关,通话时间越长,生成录制文件的时间也越长。一般情况下,通话时间1小时以下,在通话结束后2小时可以获取到,为了保证录制文件数据完整建议在24小时后获取。''​
  
-**注意:获取录制文件时所需要的confrId,可以从SDK中获取, 
-移动端:1v1时为EMCallSession#​getServerRecordId,多人时为EMConference#​getConferenceId. 
-web端:1v1时为WebIM.call.getServerRecordId(),​ 多人时可以在创建会议的回调里拿到 ​ 
-emedia.mgr.createConference().then(function (confr) { 
-    console.log(confr.confrId) 
-})** 
 ---- ----