Youtube iframe API を使用して、アプリケーションで Youtube ビデオを実行するときに主要なイベントを処理する方法に関するソリューションを探していました。残念ながら見つかりませんでした。このドキュメントhttps://developers.google.com/youtube/iframe_api_reference#Eventsを確認しましたが、プレーヤーはキーに関連するイベントを発生させないようです (例: onkeydown、keypress、keyup )。
提供されたコードにイベントを直接追加しようとしましたが、うまくいきませんでした。
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('trailer_video', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
events: {
// 'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onkeydown': myfunction // custom event
}
});
}
矢印キーが押されたときにキー イベントを特別に処理する方法はありますか?
PS: ここで間違っているかどうかはわかりませんが、通常、ビデオのバッファリング中に矢印キーを押すと、一連のドットが移動し、プレーヤーがこれらのイベントを検出して応答するというヒントが得られます。
質問を更新
以下の回答が示唆するように、もちろんある意味では解決策ですが、Youtube は左矢印キーと右矢印キーのイベントも処理するため、カーソルがビデオ上にあるときにも使用できます。私の懸念は、上下のイベントをどのように処理できるかです。 Youtubeで処理されず、カスタムイベントハンドラーを実装するとカーソルがビデオ上にないときにのみ機能する矢印キー。