Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
李勇
/
McuClient
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
李勇
8 years ago
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
8636fa62389a0044dee02141300aaa499670f7d8
8636fa62
1 parent
6d78a0c0
增加屏幕共享插件的下载地址,从Sass中获取
隐藏空白字符变更
内嵌
并排对比
正在显示
5 个修改的文件
包含
30 行增加
和
56 行删除
dist/McuClient.js
src/EngineEntrance.js
src/GlobalConfig.js
src/MessageTypes.js
src/apes/VideoApe.js
dist/McuClient.js
查看文件 @
8636fa6
此 diff 太大无法显示。
src/EngineEntrance.js
查看文件 @
8636fa6
...
...
@@ -28,7 +28,7 @@ import MediaModule from 'apes/MediaModule';
import
UTF8
from
'utf-8'
;
let
loger
=
Loger
.
getLoger
(
'McuClient'
);
let
_sdkInfo
=
{
"version"
:
"v1.27.1
0.201705026
"
,
"author"
:
"www.3mang.com"
};
let
_sdkInfo
=
{
"version"
:
"v1.27.1
4.201705027
"
,
"author"
:
"www.3mang.com"
};
//APE
let
_sass
;
...
...
@@ -477,6 +477,9 @@ export default class MessageEntrance extends Emiter {
GlobalConfig
.
maxVideoChannels
=
_data
.
maxVideoChannels
;
GlobalConfig
.
maxAudioChannels
=
_data
.
maxAudioChannels
;
GlobalConfig
.
maxMediaChannels
=
Math
.
max
(
GlobalConfig
.
maxVideoChannels
,
GlobalConfig
.
maxAudioChannels
);
GlobalConfig
.
ssTunnelAppURL
=
_data
.
ssTunnelAppURL
||
''
;
//屏幕共享插件的地址
//视频质量相关设置
GlobalConfig
.
fps
=
_data
.
fps
||
15
;
GlobalConfig
.
gop
=
_data
.
gop
||
3
;
...
...
@@ -848,6 +851,9 @@ export default class MessageEntrance extends Emiter {
joinClassSuccessCallBackData
.
gop
=
GlobalConfig
.
gop
;
joinClassSuccessCallBackData
.
videoQuality
=
GlobalConfig
.
videoQuality
;
joinClassSuccessCallBackData
.
ssTunnelAppURL
=
GlobalConfig
.
ssTunnelAppURL
;
loger
.
log
(
'加入课堂成功->'
);
loger
.
log
(
joinClassSuccessCallBackData
);
...
...
@@ -899,8 +905,8 @@ export default class MessageEntrance extends Emiter {
//课堂状态发生改变,需要停止当前的所有推流
_stopAllMediaPublishHandler
(
_data
){
loger
.
log
(
'课堂状态发生改变,需要停止当前的所有推流'
);
MessageTypes
.
STOP_ALL_MEDIA_PUBLISH
let
allChannels
=
MediaModule
.
allMediaChannelsList
;
this
.
_emit
(
MessageTypes
.
MEDIA_STOP_PUBLISH
);
/* let allChannels=MediaModule.allMediaChannelsList;
let channl=null;
for(let i in allChannels){
channl=allChannels[i];
...
...
@@ -908,7 +914,7 @@ export default class MessageEntrance extends Emiter {
this._emit(MessageTypes.MEDIA_STOP_PUBLISH);
return;
}
}
}
*/
}
//切换MS ->_param->{reConnect:false} //reConnect(是否立即替换当前的ip并且重新连接)
...
...
@@ -1577,6 +1583,8 @@ export default class MessageEntrance extends Emiter {
joinClassSuccessCallBackData
.
gop
=
GlobalConfig
.
gop
;
joinClassSuccessCallBackData
.
videoQuality
=
GlobalConfig
.
videoQuality
;
joinClassSuccessCallBackData
.
ssTunnelAppURL
=
GlobalConfig
.
ssTunnelAppURL
;
loger
.
log
(
joinClassSuccessCallBackData
);
//和加入课堂成功使用同样的消息处理
this
.
_emit
(
MessageTypes
.
CLASS_JOIN_SUCCESS
,
joinClassSuccessCallBackData
);
...
...
src/GlobalConfig.js
查看文件 @
8636fa6
...
...
@@ -56,7 +56,7 @@ class GlobalConfig {
classInfo
.
fps
=
this
.
fps
;
classInfo
.
gop
=
this
.
gop
;
classInfo
.
videoQuality
=
this
.
videoQuality
;
classInfo
.
ssTunnelAppURL
=
this
.
ssTunnelAppURL
;
return
classInfo
;
}
...
...
@@ -437,7 +437,7 @@ GlobalConfig.isRecordPlayBack=false;//是否是录制回放,默认是否
GlobalConfig
.
allowRecordMaxTime
=
14400
;
//(秒)允许录制的最长时间,默认是4小时
GlobalConfig
.
siteId_letv
=
'shchuanbao'
;
//乐视,MS不需要动态选点的站点
GlobalConfig
.
ssTunnelAppURL
=
''
;
//屏幕共享插件的地址
...
...
src/MessageTypes.js
查看文件 @
8636fa6
...
...
@@ -76,6 +76,8 @@ MessageTypes.PUBLISH_SCREEN_SHARE_CLOSE= "publish_screen_share_close";//灞忓箷鍏
MessageTypes
.
PUBLISH_SCREEN_SHARE_DISCONNECT
=
"publish_screen_share_disconnect"
;
//屏幕共享服务器没有连接
MessageTypes
.
PUBLISH_SCREEN_SHARE_CONNECTED
=
"publish_screen_share_connected"
;
//获取屏幕共享服务器已经连接
MessageTypes
.
PUBLISH_SCREEN_MOVIE_INFO_CHANGE
=
"publish_screen_movie_info_change"
;
//媒体信息
MessageTypes
.
PUBLISH_SCREEN_VIDEO_INFO_CHANGE
=
"publish_screen_video_info_change"
;
//视频信息
//文档模块事件定义
MessageTypes
.
DOC_DELETE
=
"document_delete"
;
//'document.delete';//删除文档
...
...
src/apes/VideoApe.js
查看文件 @
8636fa6
...
...
@@ -31,7 +31,8 @@ class VideoApe extends Ape {
this
.
shareApe
.
on
(
MessageTypes
.
PUBLISH_SCREEN_SHARE_CLOSE
,
this
.
onPublishScreenShareClose
.
bind
(
this
));
this
.
shareApe
.
on
(
MessageTypes
.
PUBLISH_SCREEN_SHARE_DISCONNECT
,
this
.
onPublishScreenShareDisconnect
.
bind
(
this
));
this
.
shareApe
.
on
(
MessageTypes
.
PUBLISH_SCREEN_SHARE_CONNECTED
,
this
.
onPublishScreenShareConnected
.
bind
(
this
));
this
.
shareApe
.
on
(
MessageTypes
.
PUBLISH_SCREEN_MOVIE_INFO_CHANGE
,
this
.
onPublishScreenMovieInfoChange
.
bind
(
this
));
this
.
shareApe
.
on
(
MessageTypes
.
PUBLISH_SCREEN_VIDEO_INFO_CHANGE
,
this
.
onPublishScreenVideoInfoChange
.
bind
(
this
));
// Ape Models
this
.
registerKey
(
this
.
_session_id
,
this
.
_session_name
,
this
.
_session_tag
,
new
ArrayBuffer
);
...
...
@@ -214,6 +215,15 @@ class VideoApe extends Ape {
loger
.
log
(
'屏幕共享服务器连接成功->'
);
this
.
_emit
(
MessageTypes
.
PUBLISH_SCREEN_SHARE_CONNECTED
);
}
onPublishScreenMovieInfoChange
(
data
){
loger
.
log
(
'屏幕共享MOVIE信息发生改变->'
);
this
.
_emit
(
MessageTypes
.
PUBLISH_SCREEN_MOVIE_INFO_CHANGE
,
data
);
}
onPublishScreenVideoInfoChange
(
data
){
loger
.
log
(
'屏幕共享视频信息发生改变->'
);
this
.
_emit
(
MessageTypes
.
PUBLISH_SCREEN_VIDEO_INFO_CHANGE
,
data
);
}
//桌面共享推流
publishScreenShare
(
_param
)
{
if
(
!
this
.
mcu
.
connected
){
...
...
@@ -221,53 +231,6 @@ class VideoApe extends Ape {
this
.
_emit
(
MessageTypes
.
VIDEO_PUBLISH_RESULT
,{
"code"
:
ApeConsts
.
RETURN_FAILED
,
"data"
:
"已经断开连接!"
,
"mediaId"
:
0
});
return
{
"code"
:
ApeConsts
.
RETURN_FAILED
,
"data"
:
"已经断开连接"
};
}
/* if (_param == null||_param.publishUrl == null)
{
loger.warn('桌面共享推流->参数错误', _param);
this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG);
this._emit( MessageTypes.VIDEO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"桌面共享推流参数错误!","mediaId":0});
return {"code": ApeConsts.RETURN_FAILED, "data": "桌面共享推流参数错误"};
}*/
/*
//根据推流的地址获取对应的频道信息
let needPublishChannelInfo=this.mediaModule.getNeedPublishMediaChannel(_param.publishUrl);
if(needPublishChannelInfo==null){
loger.warn('桌面共享推流->推流数据已经无效', _param);
this._emit( MessageTypes.VIDEO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"推流数据已经无效!","mediaId":0});
return {"code": ApeConsts.RETURN_FAILED, "data": "推流数据已经无效"};
}*/
/*//判断当前是否还有空闲的channle
let freeChannel = this.mediaModule.getFreeMediaChannel();
if (freeChannel == 0) {
loger.warn("推流->不能再打开更多的设备 ");
this._emit( MessageTypes.VIDEO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"不能再打开更多的设备!","mediaId":0});
return {"code": ApeConsts.RETURN_FAILED, "data": "不能再打开更多的设备","mediaChannels":this.mediaModule.mediaChannels};
}
//判断当前的频道是否已经占用
if(this.mediaModule.checkChannelIsOpening(needPublishChannelInfo.channelId)){
if(needPublishChannelInfo.nodeId==GlobalConfig.nodeId){
loger.warn(needPublishChannelInfo.channelId,"已经推送过消息,不需要再次推送");
this._emit( MessageTypes.VIDEO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_SUCCESS, "data":"已经推送过消息,不需要再次推送!","mediaId":needPublishChannelInfo.channelId});
return {"code": ApeConsts.RETURN_SUCCESS, "data":"已经推送过消息,不需要再次推送!","mediaId":needPublishChannelInfo.channelId};
}else {
loger.warn(needPublishChannelInfo.channelId,"频道已经被占用");
this._emit( MessageTypes.VIDEO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"频道已经被占用!","mediaId":0});
return {"code": ApeConsts.RETURN_FAILED, "data":"频道已经被占用!","mediaChannels":this.mediaModule.mediaChannels};
}
}*/
/* let channelInfo=this.mediaModule.getDefaultChannelInfo();
channelInfo.owner=GlobalConfig.nodeId;
channelInfo.status=ApeConsts.CHANNEL_STATUS_OPENING;
channelInfo.channelId=needPublishChannelInfo.channelId;
channelInfo.streamId=needPublishChannelInfo.streamId;//按规则拼接的流名称
channelInfo.timestamp=needPublishChannelInfo.timestamp;//时间戳
channelInfo.mediaType=ApeConsts.MEDIA_TYPE_SHARE;//类型为屏幕共享*/
let
publishType
=
'flash'
;
if
(
_param
&&
_param
.
type
==
'live'
){
publishType
=
'live'
;
...
...
@@ -519,9 +482,10 @@ class VideoApe extends Ape {
loger
.
log
(
"VIDEO_PLAY"
,
receiveChannelInfo
);
this
.
_emit
(
MessageTypes
.
VIDEO_PLAY
,
receiveChannelInfo
);
}
else
{
//
停止
播放屏幕共享
//播放屏幕共享
loger
.
log
(
"SCREEN_SHARE_PLAY"
,
receiveChannelInfo
);
this
.
_emit
(
MessageTypes
.
SCREEN_SHARE_PLAY
,
receiveChannelInfo
);
}
}
else
{
if
(
unpackChannelInfo
.
mediaType
!=
ApeConsts
.
MEDIA_TYPE_SHARE
){
...
...
@@ -530,7 +494,7 @@ class VideoApe extends Ape {
this
.
_emit
(
MessageTypes
.
VIDEO_STOP
,
receiveChannelInfo
);
}
else
{
//停止播放屏幕共享
loger
.
log
(
"SCREEN_SHARE_STOP"
,
receiveChannelInfo
);
loger
.
log
(
"SCREEN_SHARE_STOP"
,
receiveChannelInfo
);
this
.
_emit
(
MessageTypes
.
SCREEN_SHARE_STOP
,
receiveChannelInfo
);
}
...
...
请
注册
或
登录
后发表评论