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-03 18:06:20 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
cd26f43ea8fcfd3c92a8e58b05153cf2e27ecb6c
cd26f43e
1 parent
49c126f9
音视频模块控制消息修改字段类型,data字段修改为object对象,可以储存更多数据
隐藏空白字符变更
内嵌
并排对比
正在显示
5 个修改的文件
包含
46 行增加
和
23 行删除
dist/McuClient.js
src/EngineEntrance.js
src/apes/ApeConsts.js
src/apes/AudioApe.js
src/apes/VideoApe.js
dist/McuClient.js
查看文件 @
cd26f43
此 diff 太大无法显示。
src/EngineEntrance.js
查看文件 @
cd26f43
...
...
@@ -27,7 +27,7 @@ import Server from "config/Server";
import
UTF8
from
'utf-8'
;
let
loger
=
Loger
.
getLoger
(
'McuClient'
);
let
_sdkInfo
=
{
"version"
:
"v1.10.
5
.20170503"
,
"author"
:
"www.3mang.com"
};
let
_sdkInfo
=
{
"version"
:
"v1.10.
6
.20170503"
,
"author"
:
"www.3mang.com"
};
//APE
let
_sass
;
...
...
src/apes/ApeConsts.js
查看文件 @
cd26f43
...
...
@@ -29,18 +29,6 @@ ApeConsts.CLASS_TYPE_INTERACT= 1; // 互动课堂,通过MS转发音视频,
ApeConsts
.
CLASS_TYPE_LIVE
=
2
;
// 直播课堂,通过CDN转发音视频,不能进行音视频互动
/*
flash
public static const NR_GUEST:uint = 0; // 客人
public static const NR_NORMAL:uint = 1; // 普通与会者
public static const NR_ADMIN:uint = 2; // 管理员
public static const NR_MASTER:uint = 4; // 主持人
public static const NR_PRESENTER:uint = 8; // 主讲人
public static const NR_ASSISTANT:uint = 16; // 助教
public static const NR_INVISIBLE:uint = 32; // 隐身用户
*/
//角色身份
//ApeConsts.NR_GUEST = 0; // 客人
ApeConsts
.
NR_NORMAL
=
1
;
// 普通与会者
...
...
@@ -103,11 +91,13 @@ ApeConsts.USER_CAMERA_OPEN = 0x0080; // 音视频开启
//VIDEO MIC 流媒体消息操作控制类型
ApeConsts
.
MEDIA_ACTION_DEFAULT
=
0
;
ApeConsts
.
MEDIA_ACTION_OPEN_CAMERA
=
1
;
// "open.camera";
ApeConsts
.
MEDIA_ACTION_CLOSE_CAMERA
=
2
;
// "close.camera";
ApeConsts
.
MEDIA_ACTION_OPEN_CAMERA
=
1
;
// "打开摄像头推流;
ApeConsts
.
MEDIA_ACTION_CLOSE_CAMERA
=
2
;
// "关闭停止推流";
ApeConsts
.
MEDIA_ACTION_OPEN_MIC
=
21
;
//"打开音频推流";
ApeConsts
.
MEDIA_ACTION_CLOSE_MIC
=
22
;
//"停止音频推流";
ApeConsts
.
MEDIA_ACTION_OPEN_MIC
=
3
;
//"open.mic";
ApeConsts
.
MEDIA_ACTION_CLOSE_MIC
=
4
;
//"close.mic";
ApeConsts
.
MEDIA_ACTION_SETING
=
31
;
//"音视频设置设置";
// VIDEO AUDIO CHANNEL使用状态
...
...
src/apes/AudioApe.js
查看文件 @
cd26f43
...
...
@@ -236,7 +236,15 @@ class AudioApe extends Ape {
audioSendPdu
.
toNodeId
=
parseInt
(
_param
.
toNodeId
)
||
0
;
//接收者,0就是所有人
audioSendPdu
.
actionType
=
parseInt
(
_param
.
actionType
)
||
ApeConsts
.
MEDIA_ACTION_DEFAULT
;
audioSendPdu
.
data
=
this
.
_rCArrayBufferUtil
.
strToUint8Array
(
"h5"
+
_param
.
data
);
//开头两个字会乱码
let
dataStr
=
''
;
try
{
dataStr
=
JSON
.
stringify
(
_param
.
data
);
}
catch
(
err
){
loger
.
warn
(
'控制消息->JSON转换失败'
);
dataStr
=
_param
.
data
;
}
audioSendPdu
.
data
=
this
.
_rCArrayBufferUtil
.
strToUint8Array
(
"h5"
+
dataStr
);
//开头两个字会乱码,需要加上h5两个字符
if
(
!
audioSendPdu
.
isPublic
&&
0
!=
audioSendPdu
.
toNodeId
)
{
//发送给制定的人
...
...
@@ -296,12 +304,20 @@ class AudioApe extends Ape {
return
;
}
audioReceivePdu
.
data
=
this
.
_rCArrayBufferUtil
.
uint8ArrayToStr
(
audioReceivePdu
.
data
,
2
);
//开头两个字会乱码
loger
.
log
(
'音频消息处理 receiveAudiooCommandHandler.'
,
audioReceivePdu
);
let
dataObj
=
{};
try
{
dataObj
=
JSON
.
parse
(
audioReceivePdu
.
data
);
}
catch
(
err
){
loger
.
warn
(
'控制消息->JSON转换失败'
);
dataObj
=
audioReceivePdu
.
data
;
}
audioReceivePdu
.
data
=
dataObj
;
//判断接收者的id,如果不是0,并且也不是自己的nodeId,那么消息不做处理
if
(
audioReceivePdu
.
toNodeId
!=
0
&&
audioReceivePdu
.
toNodeId
!=
GlobalConfig
.
nodeId
)
{
loger
.
log
(
'音频消息不处理 toNodeId='
,
audioReceivePdu
.
toNodeId
,
"my nodeId="
,
GlobalConfig
.
nodeId
);
}
else
{
loger
.
log
(
'音频控制消息处理 .'
,
audioReceivePdu
);
this
.
_emit
(
MessageTypes
.
AUDIO_BROADCAST
,
audioReceivePdu
);
}
}
...
...
src/apes/VideoApe.js
查看文件 @
cd26f43
...
...
@@ -236,15 +236,22 @@ class VideoApe extends Ape {
videoSendPdu
.
toNodeId
=
parseInt
(
_param
.
toNodeId
)
||
0
;
//接收者,0就是所有人
videoSendPdu
.
actionType
=
parseInt
(
_param
.
actionType
)
||
ApeConsts
.
MEDIA_ACTION_DEFAULT
;
videoSendPdu
.
data
=
this
.
_rCArrayBufferUtil
.
strToUint8Array
(
"h5"
+
_param
.
data
);
//开头两个字会乱码
let
dataStr
=
''
;
try
{
dataStr
=
JSON
.
stringify
(
_param
.
data
);
}
catch
(
err
){
loger
.
warn
(
'控制消息->JSON转换失败'
);
dataStr
=
_param
.
data
;
}
videoSendPdu
.
data
=
this
.
_rCArrayBufferUtil
.
strToUint8Array
(
"h5"
+
dataStr
);
//开头两个字会乱码
if
(
!
videoSendPdu
.
isPublic
&&
0
!=
videoSendPdu
.
toNodeId
)
{
//发送给制定的人
loger
.
log
(
'发送私聊Video消息.'
);
//
loger.log('发送私聊Video消息.');
this
.
send
(
videoSendPdu
);
}
else
{
//发送给所有人
loger
.
log
(
'发送公聊Video消息.'
);
//
loger.log('发送公聊Video消息.');
this
.
sendChatUniform
(
videoSendPdu
);
}
return
{
"code"
:
ApeConsts
.
RETURN_SUCCESS
,
"data"
:
""
};
...
...
@@ -297,16 +304,26 @@ class VideoApe extends Ape {
return
;
}
videoReceivePdu
.
data
=
this
.
_rCArrayBufferUtil
.
uint8ArrayToStr
(
videoReceivePdu
.
data
,
2
);
//开头两个字会乱码
loger
.
log
(
'视频控制消息处理 .'
,
videoReceivePdu
);
let
dataObj
=
{};
try
{
dataObj
=
JSON
.
parse
(
videoReceivePdu
.
data
);
}
catch
(
err
){
loger
.
warn
(
'控制消息->JSON转换失败'
);
dataObj
=
videoReceivePdu
.
data
;
}
videoReceivePdu
.
data
=
dataObj
;
//判断接收者的id,如果不是0,并且也不是自己的nodeId,那么消息不做处理
if
(
videoReceivePdu
.
toNodeId
!=
0
&&
videoReceivePdu
.
toNodeId
!=
GlobalConfig
.
nodeId
)
{
loger
.
log
(
'视频消息不处理 toNodeId='
,
videoReceivePdu
.
toNodeId
,
"my nodeId="
,
GlobalConfig
.
nodeId
);
}
else
{
loger
.
log
(
'视频控制消息处理 .'
,
videoReceivePdu
);
this
.
_emit
(
MessageTypes
.
VIDEO_BROADCAST
,
videoReceivePdu
);
}
}
tableUpdateHandler
(
owner
,
itemIdx
,
itemData
,
seek
)
{
// debugger;
let
unpackChannelInfo
=
this
.
unPackPdu
(
owner
,
itemIdx
,
itemData
);
...
...
请
注册
或
登录
后发表评论