首页 > 解决方案 > IonicFramework - 在 iOS 上以全屏模式停止视频自动播放

问题描述

简而言之,我使用 iframe 在我的应用程序中嵌入了一个 youtube 视频,并将其设置为在用户进入该特定页面后播放器准备好时自动播放。

- 我面临的问题:视频播放器在 Android 设备上的表现与我预期的一样。用户进入页面,视频自动播放,无需按“播放”按钮,当他/她想全屏时,只需点击“全屏”即可。当该用户想要暂停视频时也是如此。

但是,在 iOS 上:用户进入页面 --> 视频以全屏模式自动播放,这绝对不是我想要的 --> 当用户退出全屏并且他/她点击“播放”时,视频会暂停,它再次全屏显示。基本上,它只能全屏播放。

-问题是:有什么方法可以实现与 Android for 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")
      }
    });

  }

标签: ionic-frameworkionic2ionic3

解决方案


推荐阅读