Короче говоря, я встроил видео 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")
}
});
}