Open xiaosongxiaosong opened 5 years ago
属性 | 类型 | 初始值 | 说明 |
---|---|---|---|
sessions | object | {} | --- |
noop | func | function () {} |
--- |
initDone | bool | --- | --- |
检查桌面分享插件是否已经安装
- 检查浏览器是否支持 getDisplayMedia 接口(目前 chrome 与 edeg 浏览器已经支持)
- Chrome 浏览器检查插件是否已经安装
- FireFox 或其他浏览器直接返回 true,所以 isExtensionEnabled 接口返回 true 并不代表支持桌面分享
返回值:Bool
使用新接口
- fetch
- Promise
- WebSocket
返回值:object
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
newWebSocket | func | --- | --- |
extension | object | defaultExtension | --- |
isArray | object | --- | --- |
webRTCAdapter | object | adapter | --- |
httpAPICall | object | --- | --- |
适配版本浏览器,依赖 JQuery
- jQuery
- WebSocket
返回值:object
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
newWebSocket | func | --- | --- |
extension | object | defaultExtension | --- |
isArray | object | --- | --- |
webRTCAdapter | object | adapter | --- |
httpAPICall | object | --- | --- |
初始化
- 检查是否已经初始化了,如果是则直接调用 callback
- 根据 debug 参数初始化 Janus.trace Janus.debug Janus.vdebug Janus.log Janus.warn Janus.error
- 将 dependencies 的属性复制给 Janus
- 初始化插件
- 初始化 listDevices attachMediaStream reattachMediaStream 方法
- 监听 beforeunload / pagehide 方法,离开页面时检查 sessions ,循环销毁 sessions
- 设置 initDone 为 true, 调用 callback
入参:options[object]
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
callback | func | --- | --- |
debug | string or bool | --- | --- |
dependencies | object | --- | 如果为传入使用 Janus.useDefaultDependencies 获取 |
- 调用
navigator.mediaDevices.getUserMedia
申请摄像头与麦克风权限- 调用
navigator.mediaDevices.enumerateDevices
获取设备列表- 释放第一步中获取的 stream
入参:
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
callback | func | --- | --- |
config | object | { audio: true, video: true } | --- |
使用 video 播放 stream
切换 stream 播放 stream
- 检查 Janus 是否已经初始化
- 检查是否支持 web RTC
- 初始化私有变量
- createSession
入参: gatewayCallbacks[object]
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
error | func | --- | --- |
success | func | --- | --- |
destroyed | func | --- | --- |
server | string | --- | --- |
iceServers | array | [{urls: "stun:stun.l.google.com:19302"}] | 穿透NAT的公网服务器 |
iceTransportPolicy | string | --- | --- |
bundlePolicy | string | --- | --- |
ipv6Support | bool | false | --- |
withCredentials | bool | false | --- |
max_poll_events | number | 1 | --- |
token | object | null | --- |
apisecret | object | null | --- |
destroyOnUnload | bool | true | --- |
keepAlivePeriod | number | 25000 | --- |
longPollTimeout | number | 60000 | --- |
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
websockets | bool | false | --- |
ws | bool | null | --- |
wsHandlers | object | {} | --- |
wsKeepaliveTimeoutId | number | null | --- |
servers | array | null | --- |
serversIndex | number | 0 | --- |
server | string | false | --- |
iceServers | array | [{urls: "stun:stun.l.google.com:19302"}] | 穿透NAT的公网服务器 |
iceTransportPolicy | string | --- | --- |
bundlePolicy | string | --- | --- |
ipv6Support | bool | false | --- |
withCredentials | bool | false | --- |
maxev | number | 1 | --- |
token | object | null | --- |
apisecret | object | null | --- |
destroyOnUnload | bool | true | --- |
keepAlivePeriod | number | 25000 | --- |
longPollTimeout | number | 60000 | --- |
connected | bool | false | --- |
sessionId | string | null | --- |
pluginHandles | object | null | --- |
that | object | this | --- |
retries | number | 0 | --- |
transactions | object | {} | --- |
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
destroyOnUnload | bool | true | --- |
全局变量
defaultExtension