Издатель div не показывает в opentok кордова плагин в Ioni c 3 - PullRequest
0 голосов
/ 28 января 2020

Я реализовал плагин opentok cordova в своем приложении Ioni c 3, я могу сделать видеозвонок, и на одном из моих устройств я могу видеть картинку в графическом стиле, которая показывает оба Div, но в моем другом Устройство Я могу видеть только один Div, который имеет видео с коллегой, я не могу видеть Div, который имеет видео поток фронтальной камеры.

Ниже приведен мой код -

  startVideoCall = (sessionData?: any) => {
    this.callStarted = true;
    this.sessionId = sessionData.sessionId;
    this.token = sessionData.token;


    var publisherOptions = {
      insertMode: 'append',
      showControls: true,
      style: {
        buttonDisplayMode: "on",
        nameDisplayMode: "on",
      },
      width: 100,
      height: 150
    };

    var subscriberOptions = {
      insertMode: 'append',
      insertDefaultUI: true,
      showControls: true,
      style: {
        buttonDisplayMode: "on",
        nameDisplayMode: "on",
      },
      width: this.platform.width(),
      height: (this.platform.height() - 40)
    };

    this.session = OT.initSession(this.apiKey, this.sessionId);
    this.publisher = OT.initPublisher('publisher', publisherOptions);

    if (this.session && this.publisher) {
      this.session.on({
        streamCreated: (event: any) => {

          this.callConnected = true; 
          this.subscriberObj = this.session.subscribe(event.stream, 'subscriber', subscriberOptions);
          console.log("subscriberObj==================>", this.subscriberObj);
          OT.updateViews();
        },
        streamDestroyed: (event: any) => {
          console.log(`Stream ${event.stream.name} ended because ${event.reason}`);
          this.session.disconnect();
          OT.updateViews();
          this.navCtrl.pop();
        },
        sessionConnected: (event: any) => {
          console.log("sessionConnected " + event + "his.publisher==>", this.publisher);
          if (!sessionData.isSubscriber) {
            let player_ids = [];
            player_ids.push(sessionData.userDetails.lastLoginDeviceToken);
            this.oneSignal.sendNotification(player_ids, "Incoming Call", sessionData);
          }
          this.session.publish(this.publisher);
        },
        sessionDisconnected: (event: any) => {
          console.log("The session disconnected. " + event.reason);
          this.session.disconnect();
          this.navCtrl.pop();
        },
      });

      this.session.connect(this.token, (error: any) => {
        if (error) {
          console.log(`There was an error connecting to the session ${error}`);
        }
      });
    }
  }

Ниже приводится мой HTML

<ion-content padding style="background-color: black;">
  <div *ngIf="callStarted">
    <div id="subscriber">
    </div>
    <div id="publisher">
    </div>
  </div>
  <div>
    <h4 *ngIf="!callConnected && !isIncomingCall" class="connecting-text">Connecting...</h4>
  </div>
  <div>
    <h4 *ngIf="isIncomingCall" class="connecting-text">Incoming call</h4>
  </div>
</ion-content>
<ion-footer class="controls-icon" *ngIf="showAcceptRejectButtons">
  <ion-icon class="accept-circle-icon rippleEffect" (click)="acceptButtonCall()"></ion-icon>
  <ion-icon class="reject-circle-icon rippleEffect" (click)="rejectButtonCall()"></ion-icon>
</ion-footer>

Я не могу заставить его работать, так как я не нашел документации как таковой , Я хочу показать оба div на обоих устройствах.

...