Как использовать глобальную переменную OT с Ionic - PullRequest
0 голосов
/ 14 марта 2020

Я использую OpenTok. js в приложении Ioni c 4.

Я включил opentok. js scrpt в индекс. html файл :

<script src="https://static.opentok.com/v2/js/opentok.min.js"></script>

Когда я запускаю ioni c serve:

  • приложение работает нормально
  • console.log (OT) выводит глобальную переменную OT

Когда я использую Ioni c Cordova Run, я получаю:

  • ошибка: ошибка TS2304: Не удается найти имя 'OT'.

Я также подумал об использовании npm версии .

Как я могу устранить ошибку?

Вот упрощенный файл .ts

import { Component, OnInit } from '@angular/core';
import { Platform } from '@ionic/angular';

@Component({
  selector: 'app-tab1',
  templateUrl: 'tab1.page.html',
  styleUrls: ['tab1.page.scss']
})
export class Tab1Page {

  constructor(public platform: Platform) {}

    apiKey:any  = 'XXX';
    sessionId:any = 'XXX';
    token:any = 'XXX';

    ngOnInit(){
       console.log(OT);
       this.initializeSession();
    }

    handleError(error) {}

    initializeSession() {
      var session = OT.initSession(this.apiKey, this.sessionId);

      session.on('streamCreated', function streamCreated(event) {
        var subscriberOptions = {};
        session.subscribe(event.stream, 'subscriber', subscriberOptions, this.handleError);
      });

      session.on('sessionDisconnected', function sessionDisconnected(event) {});

      var publisherOptions = {};
      var publisher = OT.initPublisher('publisher', publisherOptions, this.handleError);

      session.connect(this.token, function callback(error) {
        if (error) {
          this.handleError(error);
        } else {
          session.publish(publisher, this.handleError);
        }
      });
    }
}
...