问题标签 [skylink]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
86 浏览

android - Temasys android 集成问题:“版本无价值”V0.9.5

我已经集成了Temasys lib来集成视频通话功能。一切正常,但突然停止。在发送者和接收者之间建立连接后,我在连接房间时遇到以下错误日志:

[onMessage] 错误:版本 org.json.JSONException 没有值:org.json.JSONObject.get(JSONObject.java:389) 的 org.json.JSONObject.getString(JSONObject.java:550) 的版本没有值sg.com.temasys.skylink.sdk.rtc.cw.process(Unknown Source) at sg.com.temasys.skylink.sdk.rtc.bg.onMessage(Unknown Source) at sg.com.temasys.skylink.sdk。 rtc.bj.onMessage(Unknown Source) at sg.com.temasys.skylink.sdk.rtc.bn.call(Unknown Source) at com.github.nkzawa.emitter.Emitter.emit(Emitter.java:117) 在 com.github.nkzawa.socketio.client.Socket.onevent(Socket.java:317) 在 com.github.nkzawa.socketio.client.Socket。 onpacket(Socket.java:280) at com.github.nkzawa.socketio.client.Socket.access$100(Socket.java:18) at com.github.nkzawa.socketio.client.Socket$2$2.call(Socket.java :101) com.github.nkzawa.emitter.Emitter.emit(Emitter.java:117) com.github.nkzawa.socketio.client.Manager.ondecoded(Manager.java:382) com.github.nkzawa。socketio.client.Manager.access$1200(Manager.java:21) at com.github.nkzawa.socketio.client.Manager$3.call(Manager.java:356) at com.github.nkzawa.emitter.Emitter.emit( Emitter.java:117) 在 com.github.nkzawa.socketio.parser.Parser$Decoder.add(Parser.java:156) 在 com.github.nkzawa.socketio.client.Manager.ondata(Manager.java:374)在 com.github.nkzawa.socketio.client.Manager.access$1000(Manager.java:21) 在 com.github.nkzawa.socketio.client.Manager$2.call(Manager.java:347) 在 com.github。nkzawa.emitter.Emitter.emit(Emitter.java:117) at com.github.nkzawa.engineio.client.Socket.onPacket(Socket.java:497) at com.github.nkzawa.engineio.client.Socket.access$900 (Socket.java:30) 在 com.github.nkzawa.engineio.client.Socket$5.call(Socket.java:300) 在 com.github.nkzawa.emitter.Emitter.emit(Emitter.java:117) 在 com .github.nkzawa.engineio.client.Transport.onPacket(Transport.java:124) 在 com.github.nkzawa.engineio.client.Transport.onData(Transport.java:116) 在 com.github.nkzawa。engineio.client.transports.WebSocket.access$300(WebSocket.java:29) at com.github.nkzawa.engineio.client.transports.WebSocket$1$3.run(WebSocket.java:103) at com.github.nkzawa.thread .EventThread$2.run(EventThread.java:75) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java .lang.Thread.run(Thread.java:818)WebSocket$1$3.run(WebSocket.java:103) at com.github.nkzawa.thread.EventThread$2.run(EventThread.java:75) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 在 java.lang.Thread.run(Thread.java:818)WebSocket$1$3.run(WebSocket.java:103) at com.github.nkzawa.thread.EventThread$2.run(EventThread.java:75) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 在 java.lang.Thread.run(Thread.java:818)1112) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 在 java.lang.Thread.run(Thread.java:818)1112) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 在 java.lang.Thread.run(Thread.java:818)

申请房间时:

[sendMessage] {"type":"enter","mid":"fYtB6NY9nShtxyz","rid":"xyz_api_conference-143-4","re​​ceiveOnly":false,"agent":"Android"," version": "0.9.5 ","userInfo":{"settings":{"audio":{"stereo":true},"video":{"resolution":{"height":480,"width":640} ,"frameRate":30}},"mediaStatus":{"audioMuted":false,"videoMuted":false},"userData":"videoCallUser"}}

但作为响应[onMessage]它只是因上述错误消息而崩溃。

任何建议,如果有新的更新?

0 投票
1 回答
141 浏览

javascript - skylink 无法动态更改视频源

我正在尝试使用 Skylink API 制作像谷歌视频群聊这样的视频应用程序。如果房间里只有一个对等点,则对等点将是全屏。如果房间里有更多的同伴,其余的同伴将列在右下角,就像 google hangout 一样。

当全屏对等体离开房间时,列表中的一个对等体将取代全屏对等体,其余对等体仍在列表中。

我的想法是当全屏同行离开时,我使用 javascript 将<video>全屏视频替换为列表中的一个视频。但是,当我这样做时,全屏视频卡住了。看起来我停止了流,或者我不能简单地在另一个视频标签中显示我对等的流。

以下是我的javascript代码,请看函数skylink.on('peerJoined', function(peerId, peerInfo, isSelf)removeFullscreenVideo(peerId)

我怎样才能做到这一点?谢谢你。

0 投票
2 回答
1386 浏览

webrtc - WebRTC PaaS 同时支持 MCU / SFU 和 Android / iOS

我正在寻找支持的 WebRTC / 媒体服务器托管服务:

  • SFU 或 MCU 服务器
  • Android / iOS SDK(编辑:Android 不是强制性的)

我需要以上两者,因为我必须实现一个仅音频(不需要视频)的会议应用程序,它可以在一个会议会话中涉及 20 名参与者。

我正在联系 Skylink https://skylink.io/但我想知道是否有其他选择。

你知道任何?

0 投票
1 回答
167 浏览

webrtc - SkyLink Webrtc Api 使用数据通道在 web 和 IOS 之间传输文件

尝试发送二进制文件和文本文件,在浏览器 2 浏览器、IOS 设备到 IOS 设备之间效果很好,但不是 web 2 IOS。在网络应用程序消息上说文件已发送,在 IOS 上它超时并且没有收到数据,读取一些它还不能发送二进制数据的地方,可能需要将其转换为 base64,但没有发送文本的功能,任何建议都会是感谢,我真的很喜欢这个 api,但真的需要这个功能。

0 投票
1 回答
50 浏览

skylink - Skylink IOS 断开房间时的问题

我正在为 IOS 版本开发 SkylinkJS。在网站上,很好。一切运行正常。但在 IOS 上,我使用 Swift 编写应用程序。

一切都很好,除了应用程序在尝试与房间断开连接时有时会崩溃。而且我确定这个错误来自房间断开连接。因为如果我只是去那个视图控制器并且不连接到任何房间或者只是连接到那个房间并且没有断开连接就离开。一切都会变好。

错误是:

libc++abi.dylib:以 NSException 类型的未捕获异常终止

按钮断开的代码:

profile_before 来自根类。所以这不是原因。奇怪的是,这个错误只发生在某个时候......就像我打开这个控制器 30、40 次时,它会崩溃一次......有时,我打开这个页面大约 100 次并崩溃。

当然,这也不是因为记忆。我检查了内存,那段时间平均是 20-30 MB

0 投票
1 回答
312 浏览

webrtc - 使用 skylink.io API 流式传输到 youtube 直播

skylink.io API 生成的视频和音频流是否可以直接流式传输到 youtube Live ?

换句话说,他们是否提供 rtmp 链接?

0 投票
0 回答
93 浏览

android - 与 Temasys 进行跨平台屏幕共享

我正在尝试将屏幕从 android 共享到 web。按照提供的教程,我可以在网络上共享两台不同 PC 的屏幕。在 android 上,我按照相同的步骤从移动屏幕流式传输,但是当我尝试将 android 连接到网络时,它不会流式传输。

我使用日志来检查调试问题
对于 Web:

对于 Android:对等连接,但媒体访问和传入流功能未触发

0 投票
2 回答
68 浏览

swift3 - 将 Swift 1 语法重写为 Swift 3 - “Type Any 没有下标值”

这是用 Swift 1 编写的应用程序的语法,Xcode 8 已将其转换为 Swift 3。它抛出一个错误,说“类型 Any 没有下标值”。我不知道如何解决这个问题,请帮助我!!!

0 投票
2 回答
795 浏览

reactjs - 将 AttachMediaStream 与 React 渲染方法一起使用?

我正在将 AttachMediaStream 集成到使用 React 的程序中。

我可以将媒体流附加到这样的元素:

但这不在 React Render 方法之外,我认为应该发生这样的事情。

如果我把它按原样放在React Render 方法中,它会在每次 Render 方法运行时运行。

这是我想到的一种方法:

  • 向组件添加两个变量:
    • this.mediaStreamNeedsToBeAttached
    • this.props.mediaStream
  • 请注意,this.mediaStreamNeedsToBeAttached它不是this.stateor的一部分this.props。如果是,在 Render 方法中切换它是不合法的。
  • 获取媒体流时,组件:
    • 设置this.mediaStreamNeedsToBeAttached为真;
    • 运行this.setProps({ mediaStream: newlyObtainedMediaStream });导致 Render 方法运行。
  • 渲染方法:
    • 检查是否this.mediaStreamNeedsToBeAttached为真
    • 如果是这样,运行attachMediaStream(vid, this.props.mediaStream)并切换this.mediaStream

这会起作用,但我想我会在这里查看是否有其他人有更优雅的解决方案。

任何想法或意见将不胜感激!

0 投票
1 回答
110 浏览

javascript - 如何在 react 项目中集成 skylink?

我正在使用Skylink进行视频通话,我想在反应项目中使用。我知道如何将它与 Vanilla JavaScript 一起使用,因为他们的演示项目位于codepen 但是当我尝试将它与 react 一起使用时,我遇到了一些错误。这是我尝试的方法:

  1. 使用 Yarn 从 npm 安装包。
  2. 导入包import SkyLink from 'skylinkjs'
  3. 然后调用函数构造函数const skylink = new SkyLink(); 但我得到以下错误:

Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_3_skylinkjs___default.a is not a constructor

如果我尝试像这样导入:

import {SkyLink} from 'skylinkjs'; const skylink = new SkyLink();

那么错误是

Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_3_skylinkjs__.SkyLink is not a constructor

如果我尝试从模块中导入所有内容,然后调用函数 costructor:

import * as SkyLink from 'skylinkjs'; const skylink = new SkyLink();

错误将是这个Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_3_skylinkjs__ is not a constructor

你能告诉我我做错了什么吗?