nativescript-opentok
将 OpenTok 集成到 NativeScript 中。
npm i --save nativescript-opentok

Nativescript OpenTok

npm npm

一个用于 OpenTok iOS 和 Android SDK 的 Nativescript 插件。

OpenTok: https://tokbox.com/developer/

入门指南

需求

  • OpenTok API 密钥。 在此获取
  • 生成有效的 session id 的能力(通过 OpenTok 账户或后端服务)
  • 生成有效的 token 的能力(通过 OpenTok 账户或后端服务)
  • Opentok.framework 需要 project 只为 armv7(设备);i386(模拟器),armv6,armv7s 和 arm64 不受支持。

安装

Node 包管理器 (NPM)

  • npm install nativescript-opentok --save

集成

路由会话

视图

首先需要将自定义元素导入到 {N} xml 视图。这可以通过向现有的 Page 元素标签添加此代码片段:xmlns:OT="nativescript-opentok" 实现。

基本的集成示例将包括以下针对发布者和订阅者的声明。注意订阅者可以是任何具有 id="subscriber" 的元素。

<StackLayout id="subscriber" width="100%" height="100%"></StackLayout>
<OT:TNSOTPublisher id="publisher" verticalAlignment="top" horizontalAlignment="right" margin="10" width="100" height="100"></OT:TNSOTPublisher>

接下来,在页面绑定上下文(控制器、视图模型等)中,您需要导入并连接到 OpenTok 实现。

import {TNSOTSession, TNSOTPublisher, TNSOTSubscriber} from 'nativescript-opentok';

private _apiKey:string = 'API_KEY';
private _sessionId: string = 'SESSION_ID';
private _token: string = 'TOKEN';

private publisher: TNSOTPublisher;
private subscriber: TNSOTSubscriber;

private session: TNSOTSession;

constructor(private page: Page) {
super();
this.session = TNSOTSession.initWithApiKeySessionId(this._apiKey, this._sessionId);
this.publisher = <TNSOTPublisher> this.page.getViewById('publisher');
this.subscriber = <TNSOTSubscriber> this.page.getViewById('subscriber');
this.initPublisher();
this.initSubscriber();
}

initPublisher() {
this.session.connect(this._token);
this.publisher.publish(this.session, '', 'HIGH', '30');
this.publisher.events.on('streamDestroyed', (result) => {
console.log('publisher stream destroyed');
});
}

initSubscriber() {
this.session.events.on('streamCreated', () => {
this.subscriber.subscribe(this.session);
});
}

特别文章

图片

iPhone iPad
iPhone Image iPad Image

备注

  • 由于模拟器无法访问您的摄像头,不支持在模拟器中进行发布。您可能会看到黄色水壶。
  • TNS 代表 Telerik NativeScript