私は隠されたコントロールで埋め込まれたYouTubeのビデオを持っています:
_<iframe id="ytplayer" type="text/html" width="400" height="225"
src="http://www.youtube.com/embed/dMH0bHeiRNg?rel=0&controls=0&showinfo=0
&loop=1&hd=1&modestbranding=1&enablejsapi=1&playerapiid=ytplayer"
frameborder="0" allowfullscreen></iframe>
_
Youtube Javascript APIで制御できます。
_var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('ytplayer', {
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
_
player.playVideo()
などのようなものは完全に機能します。現在、Javascript呼び出しを使用してビデオをフルスクリーンモードで再生する方法を探していますが、APIにメソッドが見つかりませんでした。
コントロールなしでも可能ですか?可能であれば-方法は?
私の場合、これは完璧に機能しました。このリンクで詳細を確認できます。 CodePenのデモ
var player, iframe;
var $ = document.querySelector.bind(document);
// init player
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '200',
width: '300',
videoId: 'dQw4w9WgXcQ',
events: {
'onReady': onPlayerReady
}
});
}
// when ready, wait for clicks
function onPlayerReady(event) {
var player = event.target;
iframe = $('#player');
setupListener();
}
function setupListener (){
$('button').addEventListener('click', playFullscreen);
}
function playFullscreen (){
player.playVideo();//won't work on mobile
var requestFullScreen = iframe.requestFullScreen || iframe.mozRequestFullScreen || iframe.webkitRequestFullScreen;
if (requestFullScreen) {
requestFullScreen.bind(iframe)();
}
}
Html5フルスクリーンAPIを使用できます。
_node.requestFullScreen();
document.cancelFullScreen();
document.fullScreen; // bool
_
ただし、次のことに注意してください。
mozRequestFullScreen()
やwebkitRequestFullScreen
などのベンダー固有のプレフィックスが必要です。requestFullScreen
は、ユーザーイベント(onclickなど)で呼び出す必要がありますYoutube埋め込みの自動全画面表示 の回答に全画面表示(実際の全画面表示ではなく、全画面表示)するコードを追加しました。
YouTubeはAPIでフルスクリーンを公開しませんが、YouTube APIのplayerStateChange()イベントからネイティブブラウザーのrequestFullScreen()関数を呼び出すか、独自のカスタム再生ボタンを作成できます。
iframe
プレーヤーのAPIリファレンスを見ると、フルスクリーンに設定することはできないと思います(iframe
APIのみで)-_ctrl f
_はフルスクリーンを見つけられませんでした、したがって、API内に隠された秘密のメソッドであるか、存在しません。ただし、おそらくご存知のように、プレーヤーのサイズplayer.setSize(width:Number, height:Number):Object
を設定し、 window fullscreen にすることができます。
この類似の質問をご覧ください。これはあなたのために働くかもしれないように見えます(Youtube APIではなくjavascript fullscreen APIを使用します):