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
5b863c35965b9bd9b72dbb1255ba2b290da56f59
5b863c35
1 parent
44baa206
1.增加了直播的时候使用videoCDN地址,2.m3u8拉流的时候名称修改为playlist.m3u8;3.LOG增加debug状态的设置
隐藏空白字符变更
内嵌
并排对比
正在显示
6 个修改的文件
包含
57 行增加
和
13 行删除
dist/McuClient.js
src/EngineEntrance.js
src/GlobalConfig.js
src/Loger.js
src/apes/ApeConsts.js
src/apes/MediaModule.js
dist/McuClient.js
查看文件 @
5b863c3
此 diff 太大无法显示。
src/EngineEntrance.js
查看文件 @
5b863c3
...
...
@@ -28,7 +28,7 @@ import MediaModule from 'apes/MediaModule';
import
UTF8
from
'utf-8'
;
let
loger
=
Loger
.
getLoger
(
'McuClient'
);
let
_sdkInfo
=
{
"version"
:
"v1.2
4.0.201705024
"
,
"author"
:
"www.3mang.com"
};
let
_sdkInfo
=
{
"version"
:
"v1.2
5.2.201705025
"
,
"author"
:
"www.3mang.com"
};
//APE
let
_sass
;
...
...
@@ -197,7 +197,7 @@ export default class MessageEntrance extends Emiter {
_setDebugInfo
(
_data
){
loger
.
log
(
"设置debug信息-->"
,
_data
);
if
(
_data
){
Loger
.
IS_DEBUG
=
_data
.
isDebug
;
Loger
.
setLogDebug
(
_data
.
isDebug
)
;
}
}
//设置设备信息
...
...
@@ -422,7 +422,7 @@ export default class MessageEntrance extends Emiter {
GlobalConfig
.
md5
=
_data
.
md5
||
""
;
//这个暂时用假数据,后台接口写完就有数据了
GlobalConfig
.
msType
=
_data
.
msType
||
1
;
GlobalConfig
.
siteId
=
_data
.
siteId
||
""
;
GlobalConfig
.
classType
=
_data
.
meetingType
||
0
;
GlobalConfig
.
classType
=
_data
.
meetingType
||
ApeConsts
.
CLASS_TYPE_1
;
//host默认需要密码,Sass服务器只判断学生是否需要密码,没有判断老师的
GlobalConfig
.
passwordRequired
=
_data
.
passwordRequired
||
false
;
//md5验证的时候需要Sass返回的值,不能更改
...
...
@@ -488,7 +488,7 @@ export default class MessageEntrance extends Emiter {
GlobalConfig
.
setMcuList
(
_data
.
mcuList
);
//mcu
GlobalConfig
.
setMusicList
(
_data
.
musicList
);
//
GlobalConfig
.
setMusicListPrepare
(
_data
.
musicListPrepare
);
//提前上传的声音文件列表
GlobalConfig
.
setVideoCDNAddr
(
_data
.
videoCDNAddr
);
//cdn加速的拉流地址,直播的时候才使用
//MCU地址
if
(
_data
.
mcuList
&&
_data
.
mcuList
.
length
>
0
)
{
...
...
@@ -526,6 +526,7 @@ export default class MessageEntrance extends Emiter {
GlobalConfig
.
MS_PLAY_RTMP_IP
=
GlobalConfig
.
MS_PUBLISH_IP
;
GlobalConfig
.
MS_PLAY_RTMP_PORT
=
GlobalConfig
.
MS_PUBLISH_PORT
;
}
loger
.
log
(
'初始->MSPull->.'
,
GlobalConfig
.
MS_PLAY_RTMP_IP
,
GlobalConfig
.
MS_PLAY_RTMP_PORT
);
//播流的地址和推流地址需要分开的时候,单独设置拉流的地址 hls(目前乐视使用)
...
...
@@ -542,6 +543,32 @@ export default class MessageEntrance extends Emiter {
loger
.
log
(
'初始->MSHls->.'
,
GlobalConfig
.
MS_PLAY_HLS_IP
,
GlobalConfig
.
MS_PLAY_HLS_PORT
);
//直播的时候,拉流(rtmp和hls)需要从 videoCDNAddr中获取
if
(
GlobalConfig
.
classType
==
ApeConsts
.
CLASS_TYPE_2
&&
GlobalConfig
.
videoCDNAddrList
.
length
>
0
){
//videoCDNAddrList中rtmppush和hls是混在一起的,需要分离开;
let
listLen
=
GlobalConfig
.
videoCDNAddrList
.
length
;
for
(
let
i
=
0
;
i
<
listLen
;
i
++
){
let
ipItem
=
GlobalConfig
.
videoCDNAddrList
[
i
];
if
(
ipItem
){
if
(
ipItem
.
indexOf
(
'hls'
)
>=
0
){
//直播的时候m3u8拉流地址
GlobalConfig
.
MS_PLAY_HLS_IP
=
ipItem
;
//ip包含了端口
GlobalConfig
.
MS_PLAY_HLS_PORT
=
""
;
loger
.
log
(
'videoCDNAddr>初始->MSHls'
,
GlobalConfig
.
MS_PLAY_HLS_IP
);
}
else
if
(
ipItem
.
indexOf
(
'rtmppush'
)
>=
0
){
//直播的时候rtmp拉流地址
GlobalConfig
.
MS_PLAY_RTMP_IP
=
ipItem
;
//ip包含了端口
GlobalConfig
.
MS_PLAY_RTMP_PORT
=
''
;
loger
.
log
(
'videoCDNAddr->初始->MSPull'
,
GlobalConfig
.
MS_PLAY_RTMP_IP
);
}
}
}
}
else
{
loger
.
log
(
'不需要videoCDNAddr->'
);
}
//文档地址
if
(
_data
.
docList
&&
_data
.
docList
.
length
>
0
)
{
//doc上传地址,随机获取一个
...
...
@@ -801,7 +828,7 @@ export default class MessageEntrance extends Emiter {
joinClassSuccessCallBackData
.
userRole
=
GlobalConfig
.
userRole
;
joinClassSuccessCallBackData
.
userId
=
GlobalConfig
.
userId
;
joinClassSuccessCallBackData
.
passwordRequired
=
GlobalConfig
.
passwordRequired
;
joinClassSuccessCallBackData
.
classType
=
GlobalConfig
.
classType
||
ApeConsts
.
CLASS_TYPE_
INTERACT
;
joinClassSuccessCallBackData
.
classType
=
GlobalConfig
.
classType
||
ApeConsts
.
CLASS_TYPE_
1
;
joinClassSuccessCallBackData
.
country
=
GlobalConfig
.
country
;
//国家
joinClassSuccessCallBackData
.
city
=
GlobalConfig
.
city
;
//城市
...
...
@@ -1516,7 +1543,7 @@ export default class MessageEntrance extends Emiter {
joinClassSuccessCallBackData
.
userRole
=
GlobalConfig
.
userRole
;
joinClassSuccessCallBackData
.
userId
=
GlobalConfig
.
userId
;
joinClassSuccessCallBackData
.
passwordRequired
=
GlobalConfig
.
passwordRequired
;
joinClassSuccessCallBackData
.
classType
=
GlobalConfig
.
classType
||
ApeConsts
.
CLASS_TYPE_
INTERACT
;
joinClassSuccessCallBackData
.
classType
=
GlobalConfig
.
classType
||
ApeConsts
.
CLASS_TYPE_
1
;
joinClassSuccessCallBackData
.
country
=
GlobalConfig
.
country
;
//国家
joinClassSuccessCallBackData
.
city
=
GlobalConfig
.
city
;
//城市
...
...
src/GlobalConfig.js
查看文件 @
5b863c3
...
...
@@ -269,6 +269,17 @@ class GlobalConfig {
static
getRsList
(){
return
this
.
rsList
;
}
//CDN加速的 拉流地址 rtmp 和hls(m3u8)
static
setVideoCDNAddr
(
_data
){
if
(
_data
==
null
)
return
;
//ideoCDNAddr中的地址需要进行筛选,里面包含hls开头和rtmppush开头的地址
this
.
videoCDNAddr
=
_data
||
''
;
if
(
this
.
videoCDNAddr
){
this
.
videoCDNAddrList
=
this
.
videoCDNAddr
.
split
(
';'
);
}
loger
.
log
(
"videoCDNAddrList->"
,
this
.
videoCDNAddrList
);
}
}
GlobalConfig
.
statusCode_0
=
{
"code"
:
0
,
message
:
"SDK 未初始化"
};
...
...
@@ -365,7 +376,7 @@ GlobalConfig.topNodeID=101;//现在固定值,还不知道是做什么用
GlobalConfig
.
siteId
=
""
;
//站点号
GlobalConfig
.
className
=
""
;
// 课程名称
GlobalConfig
.
classId
=
0
;
//课堂号=classId=meetingNumber 之后统一修改为classId
GlobalConfig
.
classType
=
ApeConsts
.
CLASS_TYPE_
INTERACT
;
//课堂类型 1:互动课堂,2:直播课堂
GlobalConfig
.
classType
=
ApeConsts
.
CLASS_TYPE_
1
;
//课堂类型
GlobalConfig
.
classStatus
=
ApeConsts
.
CLASS_STATUS_WAIT
;
// 0;//课堂还未开始 1;//直播中 2 //课间休息 3已经停止
GlobalConfig
.
classStartTime
=
""
;
//课堂点击开始时间
GlobalConfig
.
classStopTime
=
""
;
//最后一次停止的时间(点暂停或结束),每次发送数据都获取当前时间戳
...
...
@@ -403,7 +414,8 @@ GlobalConfig.msList=[];//ms服务器地址集合
GlobalConfig
.
musicList
=
[];
//music服务器地址集合
GlobalConfig
.
musicListPrepare
=
[];
//提提前上传的music集合
GlobalConfig
.
rsList
=
[];
//录制回放中视频点播地址
GlobalConfig
.
videoCDNAddr
=
''
;
GlobalConfig
.
videoCDNAddrList
=
[];
//从videoCDNAddr转换来的,videoCDNAddr字符串用分号隔开了多个ip
//乐视的推流和播放需要分开
GlobalConfig
.
pullRtmpList
=
[];
//rtmp播流地址集合(推流和播流地址需要区分的站点使用)
...
...
src/Loger.js
查看文件 @
5b863c3
...
...
@@ -95,10 +95,14 @@ export default {
setLogLevel
:
function
setLogLevel
(
logLevel
)
{
Loger
.
logLevel
=
logLevel
;
},
setLogDebug
:
function
setLogDebug
(
isDebug
)
{
Loger
.
IS_DEBUG
=
isDebug
;
},
LOG
:
Loger
.
LOG
,
WARN
:
Loger
.
WARN
,
ERROR
:
Loger
.
ERROR
,
NO
:
Loger
.
NO
,
DATA
:
Loger
.
DATA
,
IS_DEBUG
:
Loger
.
IS_DEBUG
,
};
...
...
src/apes/ApeConsts.js
查看文件 @
5b863c3
...
...
@@ -25,10 +25,10 @@ ApeConsts.CLASS_PAUSING = "class.update";//更新当前的状态信息
ApeConsts
.
CLASS_ACTION_CLOSE_ALL
=
1
;
//所有人关闭课堂
ApeConsts
.
CLASS_ACTION_HANDUP_STATUS_CHANGE
=
2
;
//更改用户的举手状态
//课堂类型
ApeConsts
.
CLASS_TYPE_INTERACT
=
1
;
// 互动课堂,通过MS转发音视频,不能进行H5观看
ApeConsts
.
CLASS_TYPE_LIVE
=
2
;
// 直播课堂,通过CDN转发音视频,不能进行音视频互动
//课堂类型 1:1v1(2路流) 2:直播(1路流) 3:小班课(可以多路流)
ApeConsts
.
CLASS_TYPE_1
=
1
;
// 互动课堂,通过MS转发音视频,不能进行H5观看 1v1(2路流)
ApeConsts
.
CLASS_TYPE_2
=
2
;
// 直播课堂,通过CDN转发音视频,不能进行音视频互动 :直播(1路流)
ApeConsts
.
CLASS_TYPE_3
=
2
;
// 直播课堂,通过CDN转发音视频,不能进行音视频互动 ::小班课(可以多路流)
//角色身份
//ApeConsts.NR_GUEST = 0; // 客人
...
...
src/apes/MediaModule.js
查看文件 @
5b863c3
...
...
@@ -39,7 +39,8 @@ class MediaModule {
//乐视的hls地址规则
fileName
=
'desc.m3u8'
;
}
else
{
fileName
=
'index.m3u8'
;
//fileName='index.m3u8';
fileName
=
'playlist.m3u8'
;
}
port
=
(
GlobalConfig
.
MS_PLAY_HLS_PORT
==
""
||
GlobalConfig
.
MS_PLAY_HLS_PORT
==
null
)
?
""
:
":"
+
GlobalConfig
.
MS_PLAY_HLS_PORT
;
path
=
"http://"
+
GlobalConfig
.
MS_PLAY_HLS_IP
...
...
请
注册
或
登录
后发表评论