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
cdd80639f62f41efbc15afe8f516190d99fe39a6
cdd80639
1 parent
0907e6ef
1.sdk修复屏幕共享屏幕分辨率高和宽值获取不正确的问题;2.修复第三方消息通道在ios9中无法使用导致加载失败的Bug
隐藏空白字符变更
内嵌
并排对比
正在显示
7 个修改的文件
包含
196 行增加
和
57 行删除
dist/McuClient.js
src/EngineEntrance.js
src/apes/MessengerMoudle.js
src/apes/ShareApe.js
src/apes/ThirdMessage.js
src/apes/VideoApe.js
src/messenger.js
dist/McuClient.js
查看文件 @
cdd8063
此 diff 太大无法显示。
src/EngineEntrance.js
查看文件 @
cdd8063
...
...
@@ -2,6 +2,7 @@ require('es6-promise').polyfill();
require
(
'whatwg-fetch'
);
require
(
'jquery-touchswipe'
);
require
(
'string.fromcodepoint'
);
//require('messenger');
import
Emiter
from
'./Emiter'
;
import
Sass
from
'Sass'
;
...
...
@@ -30,7 +31,7 @@ import MediaSharedApe from 'apes/MediaSharedApe';
import
UTF8
from
'utf-8'
;
let
loger
=
Loger
.
getLoger
(
'McuClient'
);
let
_sdkInfo
=
{
"version"
:
"v1.30.
7.20170606
"
,
"author"
:
"www.3mang.com"
};
let
_sdkInfo
=
{
"version"
:
"v1.30.
20.20170607
"
,
"author"
:
"www.3mang.com"
};
//APE
let
_sass
;
...
...
@@ -205,8 +206,6 @@ export default class MessageEntrance extends Emiter {
this
.
mediaSharedPlay
=
this
.
_sendMediaSharedPlay
.
bind
(
this
);
//播放
this
.
mediaSharedStop
=
this
.
_sendMediaSharedStop
.
bind
(
this
);
//停止
//this.mediaSharedPause=this._sendMediaSharedPause.bind(this);//暂停
//this.mediaSharedSeek=this._sendMediaSharedSeek.bind(this);//seek
this
.
mediaSharedUpdate
=
this
.
_sendMediaSharedUpdate
.
bind
(
this
);
//更新媒体的状态
this
.
setDeviceInfo
=
this
.
_setDeviceInfo
.
bind
(
this
);
//设置设备信息(麦克风,摄像头等等.....)
...
...
@@ -823,8 +822,8 @@ export default class MessageEntrance extends Emiter {
GlobalConfig
.
setCurrentStatus
(
GlobalConfig
.
statusCode_2
);
GlobalConfig
.
classJoinSuccess
=
true
;
GlobalConfig
.
screenWidth
=
window
.
screen
.
availWidth
;
GlobalConfig
.
screenHeight
=
window
.
screen
.
availHeight
;
GlobalConfig
.
screenWidth
=
window
.
screen
.
width
;
GlobalConfig
.
screenHeight
=
window
.
screen
.
height
;
//返回给客户端初始化成功的数据
...
...
@@ -1563,26 +1562,6 @@ export default class MessageEntrance extends Emiter {
_mediaShareApe
.
mediaSharedStop
(
_param
);
}
}
//暂停
_sendMediaSharedPause
(
_param
){
if
(
!
_mcu
.
connected
)
{
loger
.
warn
(
GlobalConfig
.
getCurrentStatus
());
return
;
}
if
(
_mediaShareApe
)
{
_mediaShareApe
.
mediaSharedPause
(
_param
);
}
}
//seek
_sendMediaSharedSeek
(
_param
){
if
(
!
_mcu
.
connected
)
{
loger
.
warn
(
GlobalConfig
.
getCurrentStatus
());
return
;
}
if
(
_mediaShareApe
)
{
_mediaShareApe
.
mediaSharedSeek
(
_param
);
}
}
//媒体共享模块加入频道成功,同步到MCU服务器上的数据
mediaShareApeJoinChannelSuccess
()
{
...
...
src/apes/MessengerMoudle.js
0 → 100644
查看文件 @
cdd8063
import
Emiter
from
'Emiter'
;
import
Loger
from
'Loger'
;
let
loger
=
Loger
.
getLoger
(
'MessengerMoudle'
);
class
MessengerMoudle
{
// 信使类
// 创建Messenger实例时指定, 必须指定Messenger的名字, (可选)指定项目名, 以避免Mashup类应用中的冲突
// !注意: 父子页面中projectName必须保持一致, 否则无法匹配
constructor
(
messengerName
,
projectName
){
this
.
prefix
=
"[PROJECT_NAME]"
;
this
.
supportPostMessage
=
'postMessage'
in
window
;
this
.
targets
=
{};
this
.
name
=
messengerName
;
this
.
listenFunc
=
[];
this
.
prefix
=
projectName
||
this
.
prefix
;
this
.
initListen
();
}
// Target 类, 消息对象
Target
(
target
,
name
,
prefix
)
{
let
errMsg
=
''
;
if
(
arguments
.
length
<
2
)
{
errMsg
=
'target error - target and name are both required'
;
}
else
if
(
typeof
target
!=
'object'
)
{
errMsg
=
'target error - target itself must be window object'
;
}
else
if
(
typeof
name
!=
'string'
)
{
errMsg
=
'target error - target name must be string type'
;
}
if
(
errMsg
)
{
//throw new Error(errMsg);
loger
.
warn
(
errMsg
);
}
this
.
target
=
target
;
this
.
name
=
name
;
this
.
prefix
=
prefix
;
}
targetSend
(
_targetObj
,
_msg
,
_supportPostMessage
,
_prefix
,
_name
){
loger
.
log
(
'_supportPostMessage'
,
_supportPostMessage
,
'_prefix:'
+
_prefix
,
'_name:'
+
_name
);
if
(
_supportPostMessage
)
{
// IE8+ 以及现代浏览器支持
if
(
_targetObj
&&
_targetObj
.
target
){
_targetObj
.
target
.
postMessage
(
_prefix
+
'|'
+
_name
+
'__Messenger__'
+
_msg
,
'*'
);
}
else
{
loger
.
warn
(
'第三方消息通道发送消息失败->target->'
,
_targetObj
);
}
}
else
{
// 兼容IE 6/7
try
{
let
targetFunc
=
window
.
navigator
[
_prefix
+
_name
];
if
(
typeof
targetFunc
==
'function'
)
{
targetFunc
(
_prefix
+
_msg
,
window
);
}
else
{
//throw new Error("target callback function is not defined");
loger
.
warn
(
'第三方消息通道发送消息失败->target callback function is not defined'
);
}
}
catch
(
err
){
loger
.
warn
(
'第三方消息通道发送消息失败->'
,
err
.
message
);
}
}
}
// 添加一个消息对象
addTarget
(
target
,
name
)
{
let
errMsg
=
''
;
if
(
arguments
.
length
<
2
)
{
errMsg
=
'target error - target and name are both required'
;
}
else
if
(
typeof
target
!=
'object'
)
{
errMsg
=
'target error - target itself must be window object'
;
}
else
if
(
typeof
name
!=
'string'
)
{
errMsg
=
'target error - target name must be string type'
;
}
if
(
errMsg
)
{
loger
.
warn
(
errMsg
);
}
//let targetObj = new Target(target, name, this.prefix);
this
.
supportPostMessage
=
'postMessage'
in
window
;
loger
.
log
(
'addTarget->supportPostMessage'
,
this
.
supportPostMessage
);
let
targetObj
=
new
Object
();
targetObj
.
target
=
target
;
targetObj
.
name
=
name
;
targetObj
.
targetSend
=
this
.
targetSend
;
targetObj
.
prefix
=
this
.
prefix
;
this
.
targets
[
name
]
=
targetObj
;
};
// 初始化消息监听
initListen
()
{
let
self
=
this
;
let
generalCallback
=
function
(
_msg
)
{
let
msgData
;
if
(
typeof
_msg
==
'object'
&&
_msg
.
data
)
{
msgData
=
_msg
.
data
;
}
let
msgPairs
=
msgData
.
split
(
'__Messenger__'
);
let
msg1
=
msgPairs
[
1
];
let
pairs
=
msgPairs
[
0
].
split
(
'|'
);
let
prefix
=
pairs
[
0
];
let
name
=
pairs
[
1
];
for
(
let
i
=
0
;
i
<
self
.
listenFunc
.
length
;
i
++
)
{
if
(
prefix
+
name
===
self
.
prefix
+
self
.
name
)
{
self
.
listenFunc
[
i
](
msg1
);
}
}
};
if
(
this
.
supportPostMessage
)
{
if
(
'addEventListener'
in
document
)
{
window
.
addEventListener
(
'message'
,
generalCallback
,
false
);
}
else
if
(
'attachEvent'
in
document
)
{
window
.
attachEvent
(
'onmessage'
,
generalCallback
);
}
}
else
{
// 兼容IE 6/7
window
.
navigator
[
this
.
prefix
+
this
.
name
]
=
generalCallback
;
}
};
// 监听消息
listen
(
callback
)
{
let
i
=
0
;
let
len
=
this
.
listenFunc
.
length
;
let
cbIsExist
=
false
;
for
(;
i
<
len
;
i
++
)
{
if
(
this
.
listenFunc
[
i
]
==
callback
)
{
cbIsExist
=
true
;
break
;
}
}
if
(
!
cbIsExist
)
{
this
.
listenFunc
.
push
(
callback
);
}
};
// 注销监听
clear
()
{
this
.
listenFunc
=
[];
};
// 广播消息
send
(
msg
)
{
let
targets
=
this
.
targets
;
let
target
;
for
(
target
in
targets
)
{
if
(
targets
.
hasOwnProperty
(
target
))
{
let
targetObj
=
targets
[
target
];
//console.log('target->', targetObj);
//targets[target].send(msg);
if
(
targetObj
){
targetObj
.
targetSend
(
targetObj
,
msg
,
this
.
supportPostMessage
,
targetObj
.
prefix
,
targetObj
.
name
);
}
}
}
};
}
export
default
MessengerMoudle
;
\ No newline at end of file
...
...
src/apes/ShareApe.js
查看文件 @
cdd8063
...
...
@@ -25,30 +25,30 @@ class ShareApe extends Emiter {
}
init
(){
// // 版本信息
// ss.on(ss.VERSION_INFO_CHANGE, (d) => {
// console.log('VERSION_INFO_CHANGE->', d);
// })
// // 本地摄像头设备
// ss.on(ss.CAMERA_INFO_CHANGE, (d) => {
// console.log('CAMERA_INFO_CHANGE->', d);
// })
// // 本地麦克风设备
// ss.on(ss.MIC_INFO_CHANGE, (d) => {
// console.log('MIC_INFO_CHANGE->', d);
// })
// // 本地RTMP服务端口
// ss.on(ss.RTMP_PORT_CHANGE, (d) => {
// console.log('RTMP_PORT_CHANGE->', d);
// })
// // 麦克风音量
// ss.on(ss.MIC_VOL_CHANGE, (d) => {
// console.log('MIC_VOL_CHANGE->', d);
// })
// 版本信息
this
.
shareScreen
.
on
(
ShareScreen
.
VERSION_INFO_CHANGE
,
(
d
)
=>
{
console
.
log
(
'VERSION_INFO_CHANGE->'
,
d
);
})
// 本地摄像头设备
this
.
shareScreen
.
on
(
ShareScreen
.
CAMERA_INFO_CHANGE
,
(
d
)
=>
{
console
.
log
(
'CAMERA_INFO_CHANGE->'
,
d
);
})
// 本地麦克风设备
this
.
shareScreen
.
on
(
ShareScreen
.
MIC_INFO_CHANGE
,
(
d
)
=>
{
console
.
log
(
'MIC_INFO_CHANGE->'
,
d
);
})
// 本地RTMP服务端口
this
.
shareScreen
.
on
(
ShareScreen
.
RTMP_PORT_CHANGE
,
(
d
)
=>
{
console
.
log
(
'RTMP_PORT_CHANGE->'
,
d
);
})
// 麦克风音量
this
.
shareScreen
.
on
(
ShareScreen
.
MIC_VOL_CHANGE
,
(
d
)
=>
{
console
.
log
(
'MIC_VOL_CHANGE->'
,
d
);
})
// 媒体信息
this
.
shareScreen
.
on
(
ShareScreen
.
MOVIE_INFO_CHANGE
,
(
d
)
=>
{
...
...
src/apes/ThirdMessage.js
查看文件 @
cdd8063
require
(
'messenger'
);
import
Emiter
from
'Emiter'
;
import
McuObj
from
'mcu'
;
import
Loger
from
'Loger'
;
import
MessengerMoudle
from
'./MessengerMoudle'
;
let
loger
=
Loger
.
getLoger
(
'ThirdMessage'
);
class
ThirdMessage
extends
Emiter
{
constructor
(){
super
();
// 初始化消息通道
this
.
messenger
=
new
Messenger
(
ThirdMessage
.
IFRAME_MESSAGE_ID
,
ThirdMessage
.
PARENT_MESAGE_ID
);
this
.
messenger
.
addTarget
(
window
.
parent
,
ThirdMessage
.
PARENT
);
this
.
messenger
.
listen
(
this
.
_reciveParentMessage
.
bind
(
this
))
loger
.
log
(
'ThirdMessage'
);
try
{
//this.messenger = new Messenger(ThirdMessage.IFRAME_MESSAGE_ID, ThirdMessage.PARENT_MESAGE_ID);
this
.
messenger
=
new
MessengerMoudle
(
ThirdMessage
.
IFRAME_MESSAGE_ID
,
ThirdMessage
.
PARENT_MESAGE_ID
);
this
.
messenger
.
addTarget
(
window
.
parent
,
ThirdMessage
.
PARENT
);
this
.
messenger
.
listen
(
this
.
_reciveParentMessage
.
bind
(
this
))
loger
.
log
(
'ThirdMessage'
);
}
catch
(
err
){
console
.
warn
(
'第三方消息通道创建失败'
);
}
}
//发送消息给父级页面
...
...
src/apes/VideoApe.js
查看文件 @
cdd8063
...
...
@@ -430,7 +430,6 @@ class VideoApe extends Ape {
tableUpdateHandler
(
owner
,
itemIdx
,
itemData
,
seek
)
{
// debugger;
let
unpackChannelInfo
=
this
.
unPackPdu
(
owner
,
itemIdx
,
itemData
);
loger
.
log
(
"tableUpdateHandler->channel"
,
itemIdx
,
'mediaType'
,
unpackChannelInfo
.
mediaType
,
'status->'
,
unpackChannelInfo
.
status
,
"seek->"
,
seek
);
...
...
src/messenger.js
查看文件 @
cdd8063
...
...
@@ -76,7 +76,6 @@ window.Messenger = (function () {
Messenger
.
prototype
.
initListen
=
function
()
{
var
self
=
this
;
var
generalCallback
=
function
(
msg
)
{
debugger
;
if
(
typeof
msg
==
'object'
&&
msg
.
data
)
{
msg
=
msg
.
data
;
}
...
...
请
注册
或
登录
后发表评论