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
李勇
7 years ago
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
5f9d5ea8431c672cd099c62ca09fe18c731eb5bf
5f9d5ea8
1 parent
e7cdad77
1.增加重新加入视频通道模块的接口;点击外部刷新的时候会重新加入
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
41 行增加
和
6 行删除
src/EngineEntrance.js
src/apes/WebRtcApe.js
src/EngineEntrance.js
查看文件 @
5f9d5ea
...
...
@@ -62,9 +62,9 @@ export default class MessageEntrance extends Emiter {
constructor
()
{
super
();
//sdk 信息
GlobalConfig
.
sdkVersion
=
"v2.2
0.5.20171023
"
;
GlobalConfig
.
sdkVersion
=
"v2.2
1.3.20171024
"
;
loger
.
warn
(
"sdkVersion:"
+
GlobalConfig
.
sdkVersion
);
console
.
log
(
"sdkVersion:"
+
GlobalConfig
.
sdkVersion
);
//设置
let
locationProtocol
=
location
.
protocol
;
if
(
locationProtocol
==
"https:"
){
...
...
@@ -92,6 +92,7 @@ export default class MessageEntrance extends Emiter {
this
.
isGetFastestHlsPullCallback
=
false
;
//是否HLS拉流地址测试结束
this
.
isGetFastestRsCallback
=
false
;
//是否录制回放HLS拉流地址测试结束
this
.
saveClassStatusTimer
=
0
;
//保存课堂数据的计时器间隔,防止同一瞬间多次提交
this
.
joinChannelTimer
=
0
;
//加入音视频通道的间隔
//全局的Error处理
this
.
on
(
MessageTypes
.
MCU_ERROR
,
this
.
_mcuErrorHandler
.
bind
(
this
));
...
...
@@ -307,6 +308,8 @@ export default class MessageEntrance extends Emiter {
this
.
setDebugInfo
=
this
.
_setDebugInfo
.
bind
(
this
);
//设置debug信息
this
.
setOpenSendLogToServer
=
this
.
_setOpenSendLogToServer
.
bind
(
this
);
//设置是否上报日志
this
.
reJoinChannel
=
this
.
_reJoinChannel
.
bind
(
this
);
//重新加入频道
this
.
addLog
=
this
.
_addLog
.
bind
(
this
);
this
.
addWarn
=
this
.
_addWarn
.
bind
(
this
);
this
.
addError
=
this
.
_addError
.
bind
(
this
);
...
...
@@ -1677,11 +1680,11 @@ export default class MessageEntrance extends Emiter {
}
//离开视频通话频道
if
(
GlobalConfig
.
deviceType
==
0
||
GlobalConfig
.
deviceType
==
3
){
/*
if(GlobalConfig.deviceType==0||GlobalConfig.deviceType==3){
if(_webRtc){
_webRtc
.
leaveChannel
();
;
_webRtc.leaveChannel();
}
}
}
*/
//停止推流
if
(
_video_ape
)
{
...
...
@@ -1712,6 +1715,8 @@ export default class MessageEntrance extends Emiter {
_mcu
.
leaveMCU
();
GlobalConfig
.
setCurrentStatus
(
GlobalConfig
.
statusCode_3
);
}
//离开视频通话模块
this
.
_leaveChannel
();
}
//获取课堂所有参数(20170727新规则) api/meeting/detail.do? flash中的接口文件是 getClassParam.do
...
...
@@ -2830,7 +2835,36 @@ export default class MessageEntrance extends Emiter {
});
}
}
/*
* 重新加入频道
* */
_reJoinChannel
(
_params
){
if
(
GlobalConfig
.
appId
&&!
GlobalConfig
.
openFlash
){
//先离开频道
this
.
_leaveChannel
();
//主讲人和老师可以设置旁录
//加入之前先设置旁录地址,只有直播支持旁路(1路流)
if
(
_webRtc
&&
GlobalConfig
.
isTeachOrAssistant
&&
GlobalConfig
.
maxMediaChannels
==
1
){
let
curTimestamp
=
new
Date
().
getTime
();
let
streamId
=
GlobalConfig
.
siteId
+
"_"
+
GlobalConfig
.
classId
+
"_"
+
GlobalConfig
.
userId
+
"_"
+
curTimestamp
;
//传入固定的流Id
let
publishData
=
this
.
_getVideoPublishPath
({
streamId
:
streamId
});
loger
.
log
(
"加入之前先设置旁录地址"
,
publishData
);
if
(
publishData
&&
publishData
.
code
==
0
){
_webRtc
.
setConfigPublisherUrl
(
publishData
.
publishUrl
);
let
m3u8Stream
=
_video_ape
.
getPlayVideoPath
({
"type"
:
"m3u8"
,
"streamId"
:
streamId
});
let
rtmpStream
=
_video_ape
.
getPlayVideoPath
({
"type"
:
"rtmp"
,
"streamId"
:
streamId
});
_webRtc
.
setRtmpM3u8Path
({
m3u8Url
:
m3u8Stream
.
playUrl
,
rtmpUrl
:
rtmpStream
.
playUrl
});
}
}
clearTimeout
(
this
.
joinChannelTimer
);
this
.
joinChannelTimer
=
setTimeout
(()
=>
{
//加入音视频通话模块,延迟一秒处理,因为视频需要根据用户列表信息来判断放的位置,太早的话用户列表没有数据
this
.
_joinChannel
({
channelId
:
GlobalConfig
.
channelId
,
channelKey
:
GlobalConfig
.
channelKey
,
uid
:
GlobalConfig
.
userUid
,
info
:
""
+
GlobalConfig
.
userRole
});
},
1600
);
}
}
/*
* 加入视频通话
* */
...
...
src/apes/WebRtcApe.js
查看文件 @
5f9d5ea
...
...
@@ -416,10 +416,11 @@ class WebRtcApe extends Emiter {
}
leaveChannel() {
loger.log("
离开视频通话频道
"
);
loger.log("
调用离开视频通话频道
->
isPublish
"+this.isPublish
);
if (!this.client) {
return;
}
this.unpublish();
this.client.leave(() => {
loger.log("
离开视频通话频道
->
成功
");
}, (err)=> {
...
...
请
注册
或
登录
后发表评论