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-03-19 13:02:49 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
27764fef75067d064302d013edf1b317d7893215
27764fef
1 parent
617ffa2e
1.会议模块增加自动开始上课的功能
2.录制回放时聊天模块和白板模块在seek的时候,历史数据最多显示30条
隐藏空白字符变更
内嵌
并排对比
正在显示
5 个修改的文件
包含
43 行增加
和
6 行删除
dist/McuClient.js
src/EngineEntrance.js
src/GlobalConfig.js
src/RecordPlayBackParse.js
src/apes/ConferApe.js
dist/McuClient.js
查看文件 @
27764fe
此 diff 太大无法显示。
src/EngineEntrance.js
查看文件 @
27764fe
...
...
@@ -296,10 +296,19 @@ export default class MessageEntrance extends Emiter {
GlobalConfig
.
isRecordPlayBack
=
false
;
//设置为非录制回放状态
GlobalConfig
.
classId
=
parseInt
(
_param
.
classId
);
GlobalConfig
.
portal
=
_param
.
portal
;
GlobalConfig
.
userRole
=
_param
.
userRole
||
ApeConsts
.
normal
;
GlobalConfig
.
userId
=
_param
.
userId
||
"0"
;
GlobalConfig
.
userName
=
_param
.
userName
||
""
;
//设置角色身份
GlobalConfig
.
userRole
=
_param
.
userRole
||
ApeConsts
.
normal
;
if
(
GlobalConfig
.
userRole
!=
ApeConsts
.
host
&&
GlobalConfig
.
userRole
!=
ApeConsts
.
presenter
&&
GlobalConfig
.
userRole
!=
ApeConsts
.
assistant
&&
GlobalConfig
.
userRole
!=
ApeConsts
.
record
&&
GlobalConfig
.
userRole
!=
ApeConsts
.
invisible
){
GlobalConfig
.
userRole
=
ApeConsts
.
normal
;
}
//客户端决定是否延迟接收消息
GlobalConfig
.
messageDelay
=
_param
.
messageDelay
||
false
;
...
...
@@ -429,6 +438,9 @@ export default class MessageEntrance extends Emiter {
GlobalConfig
.
gop
=
_data
.
gop
||
3
;;
GlobalConfig
.
videoQuality
=
_data
.
videoQuality
||
2
;
//是否自动开始(身份是host的时候才用到的)
GlobalConfig
.
isAutoStartClass
=
_data
.
autoRecord
||
0
;
GlobalConfig
.
setDocListPrepare
(
_data
.
docListPrepare
);
//提前上传的文档列表
GlobalConfig
.
setRecordList
(
_data
.
recordList
);
//录制回放地址
GlobalConfig
.
setDocList
(
_data
.
docList
);
//文档地址
...
...
src/GlobalConfig.js
查看文件 @
27764fe
...
...
@@ -310,6 +310,8 @@ GlobalConfig.recordFileName="";//录制的文件名,如 果为空就创建一个
GlobalConfig
.
recordDownloadUrl
=
""
;
//下载地址
GlobalConfig
.
recordReplaytickValues
=
{};
// 滚动条关键点,用于快进快退
GlobalConfig
.
isAutoStartClass
=
0
;
//是否自动开始上课 0-否 ;1 是
GlobalConfig
.
updateClassInfoDelay
=
30
;
//(秒),每隔30秒同步一次课堂状态的并保存到Sass
//GlobalConfig.serverTimestamp=0;//当前的系统时间戳 用get set 获取
...
...
src/RecordPlayBackParse.js
查看文件 @
27764fe
...
...
@@ -293,6 +293,8 @@ class RecordPlayBackParse extends Emiter {
position
+=
byteLen
;
this
.
_parseSaveSocketMsgReceivedHandler
(
byteData
,
timestamp
);
//记录最后一个数据的时间戳作为整个录制回放的总时间戳
this
.
_recordPlaybackMaxTime
=
timestamp
;
}
...
...
@@ -300,6 +302,12 @@ class RecordPlayBackParse extends Emiter {
this
.
_isReady
=
true
;
this
.
_stopTimerCounter
();
//录制回放的总时间长度按课堂最长时间计算,不能按最后一个消息的时间计算
if
(
this
.
_recordPlaybackMaxTime
<
GlobalConfig
.
classTimestamp
){
this
.
_recordPlaybackMaxTime
=
GlobalConfig
.
classTimestamp
;
}
GlobalConfig
.
recordPlaybackMaxTime
=
this
.
_recordPlaybackMaxTime
;
loger
.
log
(
"录制回放数据解析完成,录制回放的总时间长为->"
,
this
.
_recordPlaybackMaxTime
);
//console.log("_messages", this._messages);
...
...
@@ -382,13 +390,13 @@ class RecordPlayBackParse extends Emiter {
//查找关键帧,找到关键帧后再继续播放
this
.
_searchApeMessageKeyfram
(
this
.
_conferApeMssages
,
ApeConsts
.
CONFERENCE_SESSION_ID
);
this
.
_searchApeMessageKeyfram
(
this
.
_docApeMssages
,
ApeConsts
.
DOCSHARING_SESSION_ID
);
this
.
_searchApeMessageKeyfram
(
this
.
_whiteApeMssages
,
ApeConsts
.
WHITEBOARD_SESSION_ID
);
//
this._searchApeMessageKeyfram(this._whiteApeMssages, ApeConsts.WHITEBOARD_SESSION_ID);
this
.
_searchApeMessageKeyfram
(
this
.
_videoApeMssages
,
ApeConsts
.
VIDEO_SESSION_ID
);
this
.
_searchApeMessageKeyfram
(
this
.
_audioApeMssages
,
ApeConsts
.
AUDIO_SESSION_ID
);
//聊天模块的比较特殊,消息是累计的
this
.
_searchChatApeMessageKeyfram
(
this
.
_chatApeMssages
,
ApeConsts
.
CHAT_SESSION_ID
);
//聊天模块、白板标注模块的比较特殊,消息是累计的,默认最多30条
this
.
_searchApeHistoryMessageKeyfram
(
this
.
_chatApeMssages
,
ApeConsts
.
CHAT_SESSION_ID
);
this
.
_searchApeHistoryMessageKeyfram
(
this
.
_whiteApeMssages
,
ApeConsts
.
WHITEBOARD_SESSION_ID
);
//各个ape模块无论有没有找到关键帧数据,都继续播放
this
.
_startTimerCounter
();
...
...
@@ -420,7 +428,9 @@ class RecordPlayBackParse extends Emiter {
}
//查找聊天模块ape关键帧数据,聊天模块比较特殊,消息是累积的,当前时间戳之前的都需要显示
_searchChatApeMessageKeyfram
(
_apeMessages
)
{
_searchApeHistoryMessageKeyfram
(
_apeMessages
)
{
//最多30条数据
let
counter
=
0
;
let
messageItem
;
let
keyFrameSeek
=
0
;
for
(
let
i
=
this
.
_recordPlaybackTimestamp
;
i
>
0
;
i
--
)
{
...
...
@@ -429,9 +439,15 @@ class RecordPlayBackParse extends Emiter {
//把时间点对应的数据发送,同一秒内有存在多个数据的情况
for
(
let
i
=
0
;
i
<
messageItem
.
length
;
i
++
)
{
this
.
_everSocketMsgReceivedHandler
(
messageItem
[
i
].
byteData
,
0
);
counter
++
;
if
(
counter
>
30
){
loger
.
warn
(
"SEEK->最多处理历史消息30条"
);
return
;
}
}
}
}
}
}
...
...
src/apes/ConferApe.js
查看文件 @
27764fe
...
...
@@ -377,6 +377,13 @@ class ConferApe extends Ape {
//如果是host ,开始录制
this
.
startRecord
();
}
else
if
(
GlobalConfig
.
classStatus
==
ApeConsts
.
CLASS_STATUS_WAIT
&&
GlobalConfig
.
isHost
&&
GlobalConfig
.
isAutoStartClass
&&
!
GlobalConfig
.
isRecordPlayBack
){
//自动开始上课的4个条件
//1.如果自己是host,2.Sass配置的是自动开始上课,3.并且当前是未开始状态,4.当前不是录制回放,开始自动上课
loger
.
log
(
'自动开始上课->classStatus:'
,
GlobalConfig
.
classStatus
,
" isHost:"
,
GlobalConfig
.
isHost
,
" isAutoStartClass:"
,
GlobalConfig
.
isAutoStartClass
,
" isRecordPlayBack:"
,
GlobalConfig
.
isRecordPlayBack
);
this
.
startClass
();
}
}
...
...
请
注册
或
登录
后发表评论