IonicFramework - остановить автоматическое воспроизведение видео в полноэкранном режиме на iOS - PullRequest
0 голосов
/ 03 мая 2018

Короче говоря, я встроил видео YouTube в свое приложение, используя iframe, и настроил его на автоматическое воспроизведение, когда проигрыватель будет готов после того, как пользователь зашел на эту конкретную страницу.

-Проблема, с которой я сталкиваюсь: видеоплеер ведет себя так, как я ожидал на устройствах Android. Пользователь заходит на страницу, видео воспроизводится автоматически без нажатия кнопки «Воспроизвести», когда он / она хочет перейти в полноэкранный режим, просто нажмите «Полноэкранный режим». То же самое происходит, когда этот пользователь хочет приостановить видео.

Однако на iOS: пользователь заходит на страницу -> видео воспроизводится автоматически в полноэкранном режиме, что, безусловно, не то, что я хочу -> видео приостанавливается, когда пользователь выходит из полноэкранного режима и если он / она нажимает играть ", он снова становится полноэкранным. По сути, он воспроизводится только в полноэкранном режиме.

- Вопрос в том, могу ли я добиться того же поведения видео плеера, что и на Android для iOS? Большое спасибо, любая помощь будет очень признательна.

- это HTML:

<iframe id="iframeTube" width="100%" height="250" src="https://www.youtube.com/embed/b5cv7ihxBeY?enablejsapi=1&fs=1" frameborder="0"
                style="border: solid 4px #37474F" allowfullscreen></iframe>

- это видео, обрабатываемое в файле .ts:

ionViewWillEnter() {
    this.onYouTubeIframeAPIReady();
  }
  ionViewDidEnter() {   
    this.fullscreenProcess(this);        
  }

  onYouTubeIframeAPIReady() {
    this.player = new YT.Player('iframeTube', {
      events: {
        'onReady': this.onPlayerReady,
        'onStateChange': this.onPlayerStateChange
      }
    });
  }
  onPlayerReady(event) {
    console.log('ready')
    var embedCode = event.target.getVideoEmbedCode();
    event.target.playVideo();   
    var self = this;
  }
  fullscreenProcess(self)
  {
      document.addEventListener("webkitfullscreenchange", function (event) {

      if (document.webkitIsFullScreen) {
        console.log("full")
        self.screenOrientation.lock(self.screenOrientation.ORIENTATIONS.LANDSCAPE);
      }
      else {
        self.screenOrientation.unlock();
        console.log("not full")
      }
    });

  }
...