正在显示
5 个修改的文件
包含
90 行增加
和
115 行删除
此 diff 太大无法显示。
| @@ -30,7 +30,7 @@ import MediaSharedApe from 'apes/MediaSharedApe'; | @@ -30,7 +30,7 @@ import MediaSharedApe from 'apes/MediaSharedApe'; | ||
| 30 | import UTF8 from 'utf-8'; | 30 | import UTF8 from 'utf-8'; |
| 31 | 31 | ||
| 32 | let loger = Loger.getLoger('McuClient'); | 32 | let loger = Loger.getLoger('McuClient'); |
| 33 | -let _sdkInfo = {"version": "v1.30.3.20170602", "author": "www.3mang.com"}; | 33 | +let _sdkInfo = {"version": "v1.30.5.20170605", "author": "www.3mang.com"}; |
| 34 | 34 | ||
| 35 | //APE | 35 | //APE |
| 36 | let _sass; | 36 | let _sass; |
| @@ -1540,7 +1540,7 @@ export default class MessageEntrance extends Emiter { | @@ -1540,7 +1540,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1540 | return; | 1540 | return; |
| 1541 | } | 1541 | } |
| 1542 | if (_mediaShareApe) { | 1542 | if (_mediaShareApe) { |
| 1543 | - _mediaShareApe.mediaSharedDelete(_param); | 1543 | + _mediaShareApe.mediaSharedPlay(_param); |
| 1544 | } | 1544 | } |
| 1545 | } | 1545 | } |
| 1546 | //停止 | 1546 | //停止 |
| @@ -1579,26 +1579,24 @@ export default class MessageEntrance extends Emiter { | @@ -1579,26 +1579,24 @@ export default class MessageEntrance extends Emiter { | ||
| 1579 | loger.log("媒体共享模块加入频道成功->isHost=", GlobalConfig.isHost, "length=", GlobalConfig.sharedMediaList.length); | 1579 | loger.log("媒体共享模块加入频道成功->isHost=", GlobalConfig.isHost, "length=", GlobalConfig.sharedMediaList.length); |
| 1580 | console.log("媒体共享模数据->", GlobalConfig.sharedMediaList); | 1580 | console.log("媒体共享模数据->", GlobalConfig.sharedMediaList); |
| 1581 | //如果是主持人,那么需要判断一下文档模块同步的数据和从sass获取的文档数据是否相同,如果mcu服务器不存在的,需要上传 | 1581 | //如果是主持人,那么需要判断一下文档模块同步的数据和从sass获取的文档数据是否相同,如果mcu服务器不存在的,需要上传 |
| 1582 | - /* if (GlobalConfig.isHost && GlobalConfig.sharedMediaList.length > 0) { | 1582 | + if (GlobalConfig.isHost && GlobalConfig.sharedMediaList.length > 0) { |
| 1583 | for (let i = 0; i < GlobalConfig.sharedMediaList.length; i++) { | 1583 | for (let i = 0; i < GlobalConfig.sharedMediaList.length; i++) { |
| 1584 | let value = GlobalConfig.sharedMediaList[i]; | 1584 | let value = GlobalConfig.sharedMediaList[i]; |
| 1585 | if (value) { | 1585 | if (value) { |
| 1586 | - //loger.log("判断是否需要把提前上传的文档上传到mcu", value); | ||
| 1587 | let paramInfo = { | 1586 | let paramInfo = { |
| 1588 | - "pageNum": value.pdfSize, | ||
| 1589 | - "fileName": value.name, | 1587 | + "status": 0, |
| 1588 | + "creatUserId": value.creatUserId, | ||
| 1589 | + "creatUserName": value.createUserName, | ||
| 1590 | + "url": value.url, | ||
| 1590 | "fileType": value.type, | 1591 | "fileType": value.type, |
| 1591 | - "relativeUrl": value.relativeLocation, | ||
| 1592 | - "url": value.absoluteLocation, | ||
| 1593 | - "creatUserId": value.createUserID, | ||
| 1594 | - "docId": value.id, | ||
| 1595 | - "md5": value.MD5, | ||
| 1596 | - "visible": false | 1592 | + "fileId": ""+value.id, |
| 1593 | + "fileName": value.name, | ||
| 1594 | + "seek": 0 | ||
| 1597 | }; | 1595 | }; |
| 1598 | - this._sendDocumentUpload(paramInfo); | 1596 | + this._sendMediaSharedUpload(paramInfo); |
| 1597 | + } | ||
| 1599 | } | 1598 | } |
| 1600 | } | 1599 | } |
| 1601 | - }*/ | ||
| 1602 | } | 1600 | } |
| 1603 | 1601 | ||
| 1604 | //录制回放相关的处理------------------------------------------------ | 1602 | //录制回放相关的处理------------------------------------------------ |
| @@ -567,8 +567,7 @@ class ConferApe extends Ape { | @@ -567,8 +567,7 @@ class ConferApe extends Ape { | ||
| 567 | tableUpdateHandler(owner, itemIdx, itemData) { | 567 | tableUpdateHandler(owner, itemIdx, itemData) { |
| 568 | try { | 568 | try { |
| 569 | let model = this.unPackPdu(owner, itemIdx, itemData); | 569 | let model = this.unPackPdu(owner, itemIdx, itemData); |
| 570 | - loger.log('课堂数据更新'); | ||
| 571 | - loger.log(model); | 570 | + loger.log('课堂数据更新->',model); |
| 572 | 571 | ||
| 573 | //处理课堂更新的信息 | 572 | //处理课堂更新的信息 |
| 574 | if (model && model.classStatusInfo) { | 573 | if (model && model.classStatusInfo) { |
| @@ -579,8 +578,11 @@ class ConferApe extends Ape { | @@ -579,8 +578,11 @@ class ConferApe extends Ape { | ||
| 579 | this._emit(MessageTypes.STOP_ALL_MEDIA_PUBLISH); | 578 | this._emit(MessageTypes.STOP_ALL_MEDIA_PUBLISH); |
| 580 | } | 579 | } |
| 581 | } | 580 | } |
| 581 | + | ||
| 582 | //通知应用层更新课堂状态 | 582 | //通知应用层更新课堂状态 |
| 583 | - this._emit(MessageTypes.CLASS_UPTATE_STATUS, GlobalConfig.classStatusInfo); | 583 | + let classInfo=GlobalConfig.classStatusInfo; |
| 584 | + loger.log('通知应用层更新课堂状态->CLASS_UPTATE_STATUS') | ||
| 585 | + this._emit(MessageTypes.CLASS_UPTATE_STATUS,classInfo); | ||
| 584 | 586 | ||
| 585 | //如果MCU已经断开连接,停止计时器 | 587 | //如果MCU已经断开连接,停止计时器 |
| 586 | if (!this.mcu.connected) { | 588 | if (!this.mcu.connected) { |
| @@ -596,8 +598,8 @@ class ConferApe extends Ape { | @@ -596,8 +598,8 @@ class ConferApe extends Ape { | ||
| 596 | //停止计时 | 598 | //停止计时 |
| 597 | this.stopTimerCounter(); | 599 | this.stopTimerCounter(); |
| 598 | } | 600 | } |
| 599 | - } catch (e) { | ||
| 600 | - loger.warn('ConferApe table update got exception. itemIdx', itemIdx); | 601 | + } catch (err) { |
| 602 | + loger.warn('ConferApe table update got exception->err', err.message); | ||
| 601 | } | 603 | } |
| 602 | } | 604 | } |
| 603 | 605 |
| @@ -146,97 +146,13 @@ class MediaSharedApe extends Ape { | @@ -146,97 +146,13 @@ class MediaSharedApe extends Ape { | ||
| 146 | this.sendUniform(adapterPdu, true); | 146 | this.sendUniform(adapterPdu, true); |
| 147 | } | 147 | } |
| 148 | 148 | ||
| 149 | - //获取媒体文件的完整地址和所有图片 | ||
| 150 | - getMediaSharedAddress(_param){ | ||
| 151 | - if (_param == null || _param.url == null || _param.itemIdx ==null) { | ||
| 152 | - loger.warn('获取媒体文件完整地址->传递的参数不正确->', _param); | ||
| 153 | - return {"code":ApeConsts.RETURN_FAILED, "data": "获取媒体文件时传递的参数不对"}; | ||
| 154 | - } | ||
| 155 | - let fullPath='';//媒体文件路径地址 | ||
| 156 | - let pageNum=1;//总页数 | ||
| 157 | - let docType="";//媒体文件地址的后缀类型 | ||
| 158 | - let fileType="";//媒体文件的原始类型 | ||
| 159 | - let docItem=this.mediaSharedList[_param.itemIdx]; | ||
| 160 | - if(docItem){ | ||
| 161 | - fullPath=docItem.url||""; | ||
| 162 | - pageNum=docItem.pageNum||1; | ||
| 163 | - fileType=docItem.fileType||"" | ||
| 164 | - }else { | ||
| 165 | - fullPath =_param.url; | ||
| 166 | - } | ||
| 167 | - | ||
| 168 | - //获取当前媒体文件的后缀名 | ||
| 169 | - docType=this._getMediaType(fullPath); | ||
| 170 | - let substrFullPath=this._getMediaPath(fullPath);//获取去掉后缀和文件名的地址,需要获取同目录下其他文件 | ||
| 171 | - let imagesArr=[]; | ||
| 172 | - let htmlPath=""; | ||
| 173 | - let pdfPath=""; | ||
| 174 | - | ||
| 175 | - //根据文件后缀名,生成对应的访问地址 | ||
| 176 | - if(docType=="jpg"||docType=="png"||docType=="swf"||docType=="pdf"||docType=="doc"||docType=="pptx"){ | ||
| 177 | - //页数从1开始 | ||
| 178 | - for (let i = 1; i <=pageNum; i++) { | ||
| 179 | - imagesArr.push(substrFullPath + "/" + i + ".jpg"); | ||
| 180 | - } | ||
| 181 | - } | ||
| 182 | - if(docType=="swf"||docType=="pdf"||docType=="doc"||docType=="pptx"){ | ||
| 183 | - pdfPath=fullPath.replace(/\.swf/g, ".pdf")||""; | ||
| 184 | - } | ||
| 185 | - //动态PPT | ||
| 186 | - if(docType=="html"){ | ||
| 187 | - htmlPath=fullPath; | ||
| 188 | - } | ||
| 189 | - //返回媒体文件第所有地址 | ||
| 190 | - return {'code':ApeConsts.RETURN_SUCCESS, 'data': '','docFullAddress':{ | ||
| 191 | - 'images':imagesArr, | ||
| 192 | - 'pdf':pdfPath, | ||
| 193 | - 'html':htmlPath | ||
| 194 | - }}; | ||
| 195 | - } | ||
| 196 | - | ||
| 197 | - _getMediaType(_fullPath){ | ||
| 198 | - if(!_fullPath){ | ||
| 199 | - return ""; | ||
| 200 | - } | ||
| 201 | - if(_fullPath.lastIndexOf(".jpg")>=0){ | ||
| 202 | - return "jpg"; | ||
| 203 | - } | ||
| 204 | - if(_fullPath.lastIndexOf(".png")>=0){ | ||
| 205 | - return "png"; | ||
| 206 | - } | ||
| 207 | - if(_fullPath.lastIndexOf(".swf")>=0){ | ||
| 208 | - return "swf"; | ||
| 209 | - } | ||
| 210 | - if(_fullPath.lastIndexOf(".pdf")>=0){ | ||
| 211 | - return "pdf"; | ||
| 212 | - } | ||
| 213 | - if(_fullPath.lastIndexOf(".doc")>=0){ | ||
| 214 | - return "doc"; | ||
| 215 | - } | ||
| 216 | - if(_fullPath.lastIndexOf(".html")>=0){ | ||
| 217 | - return "html"; | ||
| 218 | - } | ||
| 219 | - if(_fullPath.lastIndexOf(".pptx")>=0){ | ||
| 220 | - return "pptx"; | ||
| 221 | - } | ||
| 222 | - return ""; | ||
| 223 | - } | ||
| 224 | - //获取去掉文件名和后缀名的地址 http://www.xxx.xxx/image/aa.jpg -->http://www.xxx.xxx/image/ | ||
| 225 | - _getMediaPath(_fullPath){ | ||
| 226 | - if(!_fullPath){ | ||
| 227 | - return ""; | ||
| 228 | - } | ||
| 229 | - var lastIndex = _fullPath.lastIndexOf("/"); | ||
| 230 | - if (lastIndex > 0) { | ||
| 231 | - return _fullPath.substr(0, lastIndex); | ||
| 232 | - } | ||
| 233 | - return _fullPath; | ||
| 234 | - } | ||
| 235 | - | ||
| 236 | //组织完整的媒体文件信息,包含上传时的信息和转换后的完整地址信息 | 149 | //组织完整的媒体文件信息,包含上传时的信息和转换后的完整地址信息 |
| 237 | _mediaSharedPackFullInfo(_itemDataInfo){ | 150 | _mediaSharedPackFullInfo(_itemDataInfo){ |
| 238 | let itemDataInfo=_itemDataInfo; | 151 | let itemDataInfo=_itemDataInfo; |
| 239 | - let getDocAddress=this.getMediaSharedAddress(_itemDataInfo); | 152 | + if(itemDataInfo.seek==null){ |
| 153 | + itemDataInfo.seek=1; | ||
| 154 | + } | ||
| 155 | + /*let getDocAddress=this.getMediaSharedAddress(_itemDataInfo); | ||
| 240 | if(getDocAddress.code==ApeConsts.RETURN_SUCCESS){ | 156 | if(getDocAddress.code==ApeConsts.RETURN_SUCCESS){ |
| 241 | itemDataInfo.images=getDocAddress.docFullAddress.images||[]; | 157 | itemDataInfo.images=getDocAddress.docFullAddress.images||[]; |
| 242 | itemDataInfo.pdf=getDocAddress.docFullAddress.pdf||""; | 158 | itemDataInfo.pdf=getDocAddress.docFullAddress.pdf||""; |
| @@ -245,8 +161,8 @@ class MediaSharedApe extends Ape { | @@ -245,8 +161,8 @@ class MediaSharedApe extends Ape { | ||
| 245 | itemDataInfo.images=[]; | 161 | itemDataInfo.images=[]; |
| 246 | itemDataInfo.pdf=''; | 162 | itemDataInfo.pdf=''; |
| 247 | itemDataInfo.html=''; | 163 | itemDataInfo.html=''; |
| 248 | - } | ||
| 249 | - loger.log('docPackFullInfo->', itemDataInfo); | 164 | + }*/ |
| 165 | + loger.log('mediaPackFullInfo->', itemDataInfo); | ||
| 250 | return itemDataInfo; | 166 | return itemDataInfo; |
| 251 | } | 167 | } |
| 252 | //更新媒体文件模块的录制信息,每次开启录制的时候需要把当前媒体文件的信息更新一次 | 168 | //更新媒体文件模块的录制信息,每次开启录制的时候需要把当前媒体文件的信息更新一次 |
| @@ -281,17 +197,17 @@ class MediaSharedApe extends Ape { | @@ -281,17 +197,17 @@ class MediaSharedApe extends Ape { | ||
| 281 | return; | 197 | return; |
| 282 | } | 198 | } |
| 283 | 199 | ||
| 284 | - if (paramInfo.itemIdx == GlobalConfig.activeMediaId && GlobalConfig.activeMediaId != 0) { | 200 | + /* if (paramInfo.itemIdx == GlobalConfig.activeMediaId && GlobalConfig.activeMediaId != 0) { |
| 285 | loger.warn('媒体文件已经显示', paramInfo.itemIdx, GlobalConfig.activeMediaId); | 201 | loger.warn('媒体文件已经显示', paramInfo.itemIdx, GlobalConfig.activeMediaId); |
| 286 | return; | 202 | return; |
| 287 | - } | 203 | + }*/ |
| 288 | 204 | ||
| 289 | //更新切换之前的媒体文件的数据,要显示当前切换的媒体文件,上一个媒体文件需要隐藏 | 205 | //更新切换之前的媒体文件的数据,要显示当前切换的媒体文件,上一个媒体文件需要隐藏 |
| 290 | let oldPduDataModel; | 206 | let oldPduDataModel; |
| 291 | if (GlobalConfig.activeMediaId != 0) { | 207 | if (GlobalConfig.activeMediaId != 0) { |
| 292 | oldPduDataModel = this.mediaSharedList[GlobalConfig.activeMediaId]; | 208 | oldPduDataModel = this.mediaSharedList[GlobalConfig.activeMediaId]; |
| 293 | if (oldPduDataModel) { | 209 | if (oldPduDataModel) { |
| 294 | - oldPduDataModel.status = 1;//设置为不可见 | 210 | + oldPduDataModel.status = 0;//设置为不可见 |
| 295 | } | 211 | } |
| 296 | } | 212 | } |
| 297 | 213 | ||
| @@ -312,18 +228,64 @@ class MediaSharedApe extends Ape { | @@ -312,18 +228,64 @@ class MediaSharedApe extends Ape { | ||
| 312 | this.updaterMediaShared(pduDataModel, pduDataModel.itemIdx); | 228 | this.updaterMediaShared(pduDataModel, pduDataModel.itemIdx); |
| 313 | 229 | ||
| 314 | //更新上一个媒体文件 隐藏 | 230 | //更新上一个媒体文件 隐藏 |
| 315 | - if (oldPduDataModel) { | 231 | + if (oldPduDataModel&&oldPduDataModel.itemIdx!=pduDataModel.itemIdx) { |
| 316 | this.updaterMediaShared(oldPduDataModel, oldPduDataModel.itemIdx); | 232 | this.updaterMediaShared(oldPduDataModel, oldPduDataModel.itemIdx); |
| 317 | } | 233 | } |
| 318 | } | 234 | } |
| 319 | 235 | ||
| 320 | //停止媒体文件 | 236 | //停止媒体文件 |
| 321 | mediaSharedStop(paramInfo) { | 237 | mediaSharedStop(paramInfo) { |
| 238 | + loger.log('停止媒体文件->', paramInfo); | ||
| 239 | + if (GlobalConfig.isRecordPlayBack) { | ||
| 240 | + loger.warn('录制回放状态不允许停止媒体文件'); | ||
| 241 | + return; | ||
| 242 | + } | ||
| 243 | + | ||
| 244 | + if (paramInfo == null || paramInfo.itemIdx == null) { | ||
| 245 | + loger.warn('停止媒体文件,参数错误', paramInfo); | ||
| 246 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 247 | + return; | ||
| 248 | + } | ||
| 322 | 249 | ||
| 250 | + //获取已经存在的数据 | ||
| 251 | + let pduDataModel = this.mediaSharedList[paramInfo.itemIdx]; | ||
| 252 | + if (pduDataModel == null) { | ||
| 253 | + loger.warn('停止媒体文件,媒体文件不存在', paramInfo); | ||
| 254 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 255 | + return; | ||
| 256 | + } | ||
| 257 | + | ||
| 258 | + //更新当前选择的媒体文件数据的字段 | ||
| 259 | + pduDataModel.status = 0;//默认是0 | ||
| 260 | + //更新当前选择的媒体文件 | ||
| 261 | + this.updaterMediaShared(pduDataModel, pduDataModel.itemIdx); | ||
| 323 | } | 262 | } |
| 324 | //暂停媒体文件 | 263 | //暂停媒体文件 |
| 325 | mediaSharedPause(paramInfo) { | 264 | mediaSharedPause(paramInfo) { |
| 265 | + loger.log('暂停媒体文件->', paramInfo); | ||
| 266 | + if (GlobalConfig.isRecordPlayBack) { | ||
| 267 | + loger.warn('录制回放-》暂停媒体文件'); | ||
| 268 | + return; | ||
| 269 | + } | ||
| 326 | 270 | ||
| 271 | + if (paramInfo == null || paramInfo.itemIdx == null) { | ||
| 272 | + loger.warn('暂停媒体文件,参数错误', paramInfo); | ||
| 273 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 274 | + return; | ||
| 275 | + } | ||
| 276 | + | ||
| 277 | + //获取已经存在的数据 | ||
| 278 | + let pduDataModel = this.mediaSharedList[paramInfo.itemIdx]; | ||
| 279 | + if (pduDataModel == null) { | ||
| 280 | + loger.warn('暂停媒体文件,媒体文件不存在', paramInfo); | ||
| 281 | + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 282 | + return; | ||
| 283 | + } | ||
| 284 | + | ||
| 285 | + //更新当前选择的媒体文件数据的字段 | ||
| 286 | + pduDataModel.status = 2;//默认是0 | ||
| 287 | + //更新当前选择的媒体文件 | ||
| 288 | + this.updaterMediaShared(pduDataModel, pduDataModel.itemIdx); | ||
| 327 | } | 289 | } |
| 328 | //媒体文件SEEK | 290 | //媒体文件SEEK |
| 329 | mediaSharedSeek(paramInfo) { | 291 | mediaSharedSeek(paramInfo) { |
| @@ -425,7 +387,7 @@ class MediaSharedApe extends Ape { | @@ -425,7 +387,7 @@ class MediaSharedApe extends Ape { | ||
| 425 | if (GlobalConfig.isRecordPlayBack || !GlobalConfig.isHost || GlobalConfig.activeMediaId > 0) { | 387 | if (GlobalConfig.isRecordPlayBack || !GlobalConfig.isHost || GlobalConfig.activeMediaId > 0) { |
| 426 | return; | 388 | return; |
| 427 | } | 389 | } |
| 428 | - | 390 | + /* |
| 429 | let tempDocItemIdx;//临时记录媒体文件数据,用于显示默认媒体文件 | 391 | let tempDocItemIdx;//临时记录媒体文件数据,用于显示默认媒体文件 |
| 430 | for (let key in this.mediaSharedList) { | 392 | for (let key in this.mediaSharedList) { |
| 431 | tempDocItemIdx= this.mediaSharedList[key]; | 393 | tempDocItemIdx= this.mediaSharedList[key]; |
| @@ -439,7 +401,7 @@ class MediaSharedApe extends Ape { | @@ -439,7 +401,7 @@ class MediaSharedApe extends Ape { | ||
| 439 | //选择完成就跳出循环 | 401 | //选择完成就跳出循环 |
| 440 | return; | 402 | return; |
| 441 | } | 403 | } |
| 442 | - } | 404 | + }*/ |
| 443 | } | 405 | } |
| 444 | 406 | ||
| 445 | onJoinChannelHandlerSuccess() { | 407 | onJoinChannelHandlerSuccess() { |
| @@ -482,6 +444,17 @@ class MediaSharedApe extends Ape { | @@ -482,6 +444,17 @@ class MediaSharedApe extends Ape { | ||
| 482 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | 444 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); |
| 483 | return null; | 445 | return null; |
| 484 | } | 446 | } |
| 447 | + /* optional uint32 item_idx=1;//唯一标识 | ||
| 448 | + optional uint32 owner=2; | ||
| 449 | + optional uint32 from=3; | ||
| 450 | + optional string file_type=4; | ||
| 451 | + optional string creat_user_id=5;//创建文件userid | ||
| 452 | + optional string url =6;//文件地址 | ||
| 453 | + optional uint32 status=7;//状态0停止 1播放 2暂停 | ||
| 454 | + optional string fileId=8;//文件在服务器数据库中的唯一id | ||
| 455 | + optional string file_name=9;//文件的名字 | ||
| 456 | + optional uint32 seek=10;//seek*/ | ||
| 457 | + | ||
| 485 | //判断type类型,根据type设置不同的参数 | 458 | //判断type类型,根据type设置不同的参数 |
| 486 | let pduDataModel = new pdu['RCMediaSharedSendDataModelPdu']; | 459 | let pduDataModel = new pdu['RCMediaSharedSendDataModelPdu']; |
| 487 | pduDataModel.itemIdx = _itemIdx; | 460 | pduDataModel.itemIdx = _itemIdx; |
| @@ -493,6 +466,7 @@ class MediaSharedApe extends Ape { | @@ -493,6 +466,7 @@ class MediaSharedApe extends Ape { | ||
| 493 | pduDataModel.status = _param.status || 0; | 466 | pduDataModel.status = _param.status || 0; |
| 494 | pduDataModel.fileId = _param.fileId || "";//媒体文件在服务器数据库中的唯一id,必须有 | 467 | pduDataModel.fileId = _param.fileId || "";//媒体文件在服务器数据库中的唯一id,必须有 |
| 495 | pduDataModel.fileName = _param.fileName || "media_" + _itemIdx;//媒体文件的名字 | 468 | pduDataModel.fileName = _param.fileName || "media_" + _itemIdx;//媒体文件的名字 |
| 469 | + pduDataModel.seek= parseInt(_param.seek) ||1; | ||
| 496 | return pduDataModel; | 470 | return pduDataModel; |
| 497 | } | 471 | } |
| 498 | 472 |
| @@ -754,6 +754,7 @@ message RCMediaSharedSendDataModelPdu { | @@ -754,6 +754,7 @@ message RCMediaSharedSendDataModelPdu { | ||
| 754 | optional uint32 status=7;//状态0停止 1播放 2暂停 | 754 | optional uint32 status=7;//状态0停止 1播放 2暂停 |
| 755 | optional string fileId=8;//文件在服务器数据库中的唯一id | 755 | optional string fileId=8;//文件在服务器数据库中的唯一id |
| 756 | optional string file_name=9;//文件的名字 | 756 | optional string file_name=9;//文件的名字 |
| 757 | + optional uint32 seek=10;//seek | ||
| 757 | } | 758 | } |
| 758 | 759 | ||
| 759 | message RCDocBroadcastDataRequestPdu { | 760 | message RCDocBroadcastDataRequestPdu { |
-
请 注册 或 登录 后发表评论