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
李勇
2017-05-07 18:34:32 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
cd7469c5c72089d702ddb58bef9ab4271cfb587d
cd7469c5
1 parent
20697af0
新增音视频状态字段更新
隐藏空白字符变更
内嵌
并排对比
正在显示
7 个修改的文件
包含
42 行增加
和
7 行删除
dist/McuClient.js
src/EngineEntrance.js
src/GlobalConfig.js
src/apes/AudioApe.js
src/apes/ConferApe.js
src/apes/MediaModule.js
src/apes/VideoApe.js
dist/McuClient.js
查看文件 @
cd7469c
此 diff 太大无法显示。
src/EngineEntrance.js
查看文件 @
cd7469c
...
...
@@ -27,7 +27,7 @@ import Server from "config/Server";
import
UTF8
from
'utf-8'
;
let
loger
=
Loger
.
getLoger
(
'McuClient'
);
let
_sdkInfo
=
{
"version"
:
"v1.1
4.1.20170505
"
,
"author"
:
"www.3mang.com"
};
let
_sdkInfo
=
{
"version"
:
"v1.1
5.2.20170507
"
,
"author"
:
"www.3mang.com"
};
//APE
let
_sass
;
...
...
src/GlobalConfig.js
查看文件 @
cd7469c
...
...
@@ -337,7 +337,10 @@ GlobalConfig.speakerVolume=50;//扬声器音量(0-80)
GlobalConfig
.
micCode
=
0
;
//麦克风模式
GlobalConfig
.
audioRecords
=
[];
GlobalConfig
.
videoRecords
=
[];
GlobalConfig
.
status
=
0
GlobalConfig
.
mobileDirection
=
0
;
GlobalConfig
.
nodeId
=
0
;
//随机生成 mcu中的唯一ID
...
...
src/apes/AudioApe.js
查看文件 @
cd7469c
...
...
@@ -25,6 +25,7 @@ class AudioApe extends Ape {
this
.
mediaModule
=
new
MediaModule
();
this
.
mediaModule
.
MEDIA_OBJ_TABLE_ID
=
ApeConsts
.
AUDIO_OBJ_TABLE_ID
;
this
.
mediaModule
.
mediaChannels
=
{};
this
.
mediaModule
.
mediaType
=
ApeConsts
.
MEDIA_TYPE_AUDIO
;
// Ape Models
this
.
registerKey
(
this
.
_session_id
,
this
.
_session_name
,
this
.
_session_tag
,
new
ArrayBuffer
);
this
.
registerObj
(
pdu
.
RCPDU_REG_REGISTER_TABLE
,
ApeConsts
.
AUDIO_OBJ_TABLE_ID
,
ApeConsts
.
AUDIO_OBJ_TABLE_NAME
,
ApeConsts
.
AUDIO_OBJ_TABLE_TAG
,
0
,
new
ArrayBuffer
);
...
...
src/apes/ConferApe.js
查看文件 @
cd7469c
...
...
@@ -122,6 +122,7 @@ class ConferApe extends Ape {
return
nodeInfoRecordPdu
;
}
//更新角色数据
updateUserInfo
(){
let
nodeInfoRecordPdu
=
this
.
getNodeInfo
();
...
...
@@ -669,16 +670,18 @@ class ConferApe extends Ape {
let
newNodeData
=
nodeData
;
newNodeData
.
userData
=
userDataObj
;
//如果是监课,不告诉其他人
if
(
nodeData
.
role
==
ApeConsts
.
NR_INVISIBLE
)
{
if
(
nodeData
.
role
==
ApeConsts
.
NR_INVISIBLE
&&
GlobalConfig
.
userRole
!=
ApeConsts
.
invisible
)
{
loger
.
log
(
"NR_INVISIBLE"
);
return
;
}
if
(
!
rosterExists
)
{
loger
.
log
(
"人员加入->"
,
newNodeData
);
this
.
_emit
(
MessageTypes
.
CLASS_INSERT_ROSTER
,
{
"nodeId"
:
nodeId
,
"nodeData"
:
newNodeData
});
this
.
emitRosterChange
();
}
else
{
//loger.log("更新人员列表数据,rosterExists已经存在",rosterExists);
loger
.
log
(
"人员更新信息->"
,
newNodeData
);
this
.
_emit
(
MessageTypes
.
CLASS_UPDATE_ROSTER
,
{
"nodeId"
:
nodeId
,
"nodeData"
:
newNodeData
});
}
...
...
@@ -692,11 +695,38 @@ class ConferApe extends Ape {
//视频模块发生更新,人员状态需要更新
updaterRosterStatus
(
_param
)
{
//loger.log("媒体模块发生更新,人员状态需要更新,fromNodeId->",_param
.fromNodeId
);
//loger.log("媒体模块发生更新,人员状态需要更新,fromNodeId->",_param);
//如果视频消息中channel的占用人 fromNodeId在人员列表中不存在,需要释放这channel,因为这个有可能是之前没释放成功的
if
(
_param
&&
_param
.
status
==
ApeConsts
.
CHANNEL_STATUS_OPENING
&&
this
.
rosters
[
_param
.
fromNodeId
]
==
null
)
{
/*
if (_param && _param.status == ApeConsts.CHANNEL_STATUS_OPENING && this.rosters[_param.fromNodeId] == null) {
loger.log("媒体模块被占用,占有人已经不存在课堂中,释放Channel,_param->", _param);
this._emit(MessageTypes.CLASS_NONENTITY_ROSTER, {"nodeId": _param.fromNodeId});
}*/
if
(
_param
&&
_param
.
status
==
ApeConsts
.
CHANNEL_STATUS_OPENING
)
{
if
(
this
.
rosters
[
_param
.
fromNodeId
]
==
null
){
loger
.
log
(
"媒体模块被占用,占有人已经不存在课堂中,释放Channel,_param->"
,
_param
);
this
.
_emit
(
MessageTypes
.
CLASS_NONENTITY_ROSTER
,
{
"nodeId"
:
_param
.
fromNodeId
});
}
//如果音视频消息是自己的,需要设置麦克风和摄像头状态
if
(
_param
.
fromNodeId
==
GlobalConfig
.
nodeId
){
if
(
_param
.
mediaId
==
ApeConsts
.
MEDIA_TYPE_AUDIO
){
GlobalConfig
.
openMicrophones
=
EngineUtils
.
creatTimestamp
();
GlobalConfig
.
openCamera
=
0
;
}
else
{
GlobalConfig
.
openCamera
=
EngineUtils
.
creatTimestamp
();
GlobalConfig
.
openMicrophones
=
GlobalConfig
.
openCamera
;
}
this
.
updateUserInfo
();
}
}
else
if
(
_param
&&
_param
.
status
==
ApeConsts
.
CHANNEL_STATUS_RELEASED
)
{
//如果音视频消息是自己的,需要设置麦克风和摄像头状态
if
(
_param
.
fromNodeId
==
GlobalConfig
.
nodeId
){
GlobalConfig
.
openCamera
=
0
;
GlobalConfig
.
openMicrophones
=
0
;
this
.
updateUserInfo
();
}
}
}
...
...
src/apes/MediaModule.js
查看文件 @
cd7469c
...
...
@@ -15,6 +15,7 @@ class MediaModule {
this
.
needPublishMediaChannel
=
{};
//记录准备推流的频道信息
this
.
mediaChannels
=
{};
this
.
maxMediaChannel
=
0
;
this
.
mediaType
=
ApeConsts
.
MEDIA_TYPE_DEFAULT
;
this
.
MEDIA_OBJ_TABLE_ID
=
0
;
}
...
...
@@ -204,7 +205,7 @@ class MediaModule {
channelInfo
.
siteId
=
GlobalConfig
.
siteId
;
channelInfo
.
toNodeId
=
0
;
channelInfo
.
userId
=
GlobalConfig
.
userId
;
channelInfo
.
mediaType
=
ApeConsts
.
MEDIA_TYPE_DEFAULT
;
channelInfo
.
mediaType
=
this
.
mediaType
||
ApeConsts
.
MEDIA_TYPE_DEFAULT
;
return
channelInfo
;
}
}
...
...
src/apes/VideoApe.js
查看文件 @
cd7469c
...
...
@@ -24,6 +24,7 @@ class VideoApe extends Ape {
this
.
mediaModule
=
new
MediaModule
();
this
.
mediaModule
.
MEDIA_OBJ_TABLE_ID
=
ApeConsts
.
VIDEO_OBJ_TABLE_ID
;
this
.
mediaModule
.
mediaChannels
=
{};
this
.
mediaModule
.
mediaType
=
ApeConsts
.
MEDIA_TYPE_VIDEO
;
// Ape Models
this
.
registerKey
(
this
.
_session_id
,
this
.
_session_name
,
this
.
_session_tag
,
new
ArrayBuffer
);
...
...
@@ -378,7 +379,6 @@ class VideoApe extends Ape {
}
else
{
loger
.
warn
(
"视频消息是自己发送的或者是视频消息无效,不需要处理,消息内容如下:"
);
loger
.
log
(
unpackChannelInfo
);
}
this
.
_emit
(
MessageTypes
.
VIDEO_UPDATE
,
unpackChannelInfo
);
...
...
请
注册
或
登录
后发表评论