IOS 的 RTCMultiConnection 演示 cordva

Posted

技术标签:

【中文标题】IOS 的 RTCMultiConnection 演示 cordva【英文标题】:RTCMultiConnection Demos cordva for IOS 【发布时间】:2016-12-30 09:44:10 【问题描述】:

我们在 ios 应用程序中集成了 RTCMultiConnection Demos cordva 代码,并在其中添加了 iOS 原生代码。 需要确认一件事,它将如何与我们的网络代码链接,即如果我将从我的 IOS 应用程序调用,那么它将如何在我的网站中连接。请确认是否可能以及如何进行。

提前谢谢加新年快乐

【问题讨论】:

【参考方案1】:

你的cordova应用设置socketURL:

connection.socketURL = 'https://domain.com:9001/';

您的 Cordova 应用程序有一个名为 loadRTCMultiConnection.js 的文件。此文件必须使用相同的 RTCMultiConnection distribution as the your web page。

结论:

    您的 cordova 应用必须设置 socketURL 参数 您的 cordova 应用程序必须使用相同的 RTCMultiConnection.js

说明:

socketURL 用于访问您的 socket.io 服务器。 cordova 应用程序和网络浏览器都使用相同的 socket.io 服务器。


2017 年 1 月 3 日更新

在 RTCMultiConnection-cordova-apps 中使用 Firebase:

    打开index.html并将socket.io.js替换为Firebase.js 在同一个 index.html 文件中添加this script:<script src="js/globals.js"></script> 在同一个 HTML 文件中添加this script:<script src="js/FirebaseConnection.js"></script> 打开index.js 并添加这一行:connection.setCustomSocketHandler(FirebaseConnection); 还有这条线:connection.firebase = 'webrtc-experiment';

回顾一下:

<!-- index.html file -->
<script src="js/Firebase.js"></script>
<script src="js/globals.js"></script>
<script src="js/FirebaseConnection.js"></script>

和:

// index.js

var connection = new RTCMultiConnection();

connection.setCustomSocketHandler(FirebaseConnection);
connection.firebase = 'webrtc-experiment';

附言。您可能需要修改config.xml 以启用来自firebase.com 的websocket 或XHR_polling 请求。只需将rtcmulticonnection.herokuapp.com 替换为firebase.com。例如

<?xml version='1.0' encoding='utf-8'?>
<widget>
    <platform name="android">
        <allow-navigation href="https://firebase.com/*" />
        <allow-intent href="https://firebase.com/*" />
        <access origin="https://firebase.com" />
    </platform>
</widget>

【讨论】:

嗨 Muaz Khan,感谢您的即时回复。我们将 Firebase 用于网络浏览器,但我们希望将其用于 IOS。 我们将 Firebase 用于网络浏览器,但我们希望将其用于 IOS。 iOS 应用程序中的 RTCMultiConnection Demos cordva 代码正在使用 Socket.io,所以我们是否有可能同时使用 Firebase。或用于 web 浏览器的 firebase 和用于 IOS 的 socket.io。 当我们尝试在cordova中使用firebase for ios时,在房间出现后,我们收到无法到达启动器没有房间的错误 更新了答案。 我们在IOS的cordova中成功集成了代码。应用程序找到了创建的房间。但面临错误参数 [“无法到达启动器。再试一次...”] (1) 参数 [“on:state:change (12345):”、“room-not-available:”、“启动器似乎不存在。正在等待让某人打开房间。”] (3)

以上是关于IOS 的 RTCMultiConnection 演示 cordva的主要内容,如果未能解决你的问题,请参考以下文章

RTCMultiConnection iOS 11 safari 音频/视频流问题

没有 <audio> 元素的 WebRTC 音频 (RTCMultiConnection)

WebRTC 的音频可视化器

iOS 自动布局 ios 7 与 ios 8

iOS 8、iOS 9、iOS 10 和 iOS 11 上的 UITabBar 的高度是多少?

iOS开发 适配iOS10