質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

11060閲覧

youtube埋め込み時に上下左右に出現する黒帯を消したいのですが。。。

hsd

総合スコア17

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/02/05 04:28

編集2019/02/18 06:26

youtube動画を埋め込んだ際に上下左右に出現する黒帯を消したいのですが、javascriptでどのように記述したら良いでしょうか。

下記の処理では、ユーザーが動画の操作をできなくするため、playerfrontの下に動画を配置して
全画面に表示しているのですが、この状態から上下に黒の余白が出てしまうので余白を消したいのですが、どような処理をすれば良いでしょうか。

html <div id="player"></div> <div id="playerfront"></div>
css #player, #playerfront { position: absolute; top: 0; left: 0; width: auto; min-width: 100%; height: auto; min-height: 100%; z-index: -1; }
javascript // youtube api 自動再生 var tag = document.createElement("script"); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName("script")[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); // YouTubeの埋め込み var ytPlayer; function onYouTubeIframeAPIReady() { ytPlayer = new YT.Player( "player", // 埋め込む場所の指定 { width: 0, // プレーヤーの幅 height: 0, // プレーヤーの高さ videoId: "nVZSsoC1vQs", // YouTubeのID playerVars: { autoplay: 1, // 自動再生の設定 loop: 1, // ループの設定 playlist: "nVZSsoC1vQs", // 再生する動画のリスト playsinline: 1, rel: 0, controls: 0, showinfo: 0 }, events: { onReady: onPlayerReady } } ); } function onPlayerReady() { ytPlayer.mute(); ytPlayer.playVideo(); }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wwbQzhMkhhgEmhU

2019/02/05 11:09

状況がよく分かりません。以下についてお答えください。 (1)全画面と言っているのは所謂フルスクリーンのことでしょうか?だとするとブラウザ内なので普通は全画面ではないです。 (2)(1)とも関連しますが、ブラウザ自体がF11キーなどで元々全画面表示前提ということですか? (3)上下に黒の余白とはどの程度なのでしょう?可能なら画像で説明してもらえませんか? できれば質問の方を修正して、後から見た人が分かるようにしてください。
guest

回答1

0

自己解決

以下の処理で解決しました。

// YouTube Player APIの読み込み var tag = document.createElement("script"); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName("script")[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); // プレイヤーを埋め込む場所(IDを指定) var ytArea = "#hghghg"; // 埋め込むYouTube動画のID var ytID = "youtubeID"; // https://youtu.be/〇〇〇の〇〇〇 // プレイヤーの埋め込み function onYouTubeIframeAPIReady() { ytPlayer = new YT.Player(ytArea, { videoId: ytID, playerVars: { rel: 0, // 関連動画の非表示 controls: 0, // プレイヤーコントロールの非表示 showinfo: 0, // タイトルなどの非表示 modestbranding: 1, // YouTubeロゴの非表示 iv_load_policy: 3, // アノテーションの非表示 wmode: "transparent" }, events: { onReady: onPlayerReady, onStateChange: onPlayerStateChange } }); } // 動画の準備完了後の動作 function onPlayerReady(e) { ytPlayer.playVideo(); ytPlayer.mute(); ytPlayer.setPlaybackQuality("default"); // 画質(small・medium・large・hd720・hd1080・highres・default) } // 動画再生中と再生後の動作 function onPlayerStateChange(e) { var ytStatus = e.target.getPlayerState(); if (ytStatus === YT.PlayerState.PLAYING) { //再生中 } if (ytStatus === YT.PlayerState.ENDED) { //再生後 ytPlayer.playVideo(); ytPlayer.mute(); } } // 上下左右に出てくる黒帯を非表示 var $WIN = $(window); // ブラウザのウインドウを取得する // var WIN_H; // var win_W; function yt_screen_retio() { // 上下左右の縦横比を調節する関数 const WIN_H = $WIN.height(); // windowの高さを取得 const WIN_W = $WIN.width(); // windowの幅を取得 const screen_switch = 0.5625; // youtubeの縦横比16:9=>9/16した値 const screen_ratio = WIN_H / WIN_W; // windowの高さの値/windowの幅の値 const ratio_H = WIN_H / screen_switch; // windowの高さ/縦横比の値 const ratio_W = WIN_W * screen_switch; // windowの幅*縦横比の値 if (screen_ratio > screen_switch) { // windowの高さの値/windowの幅の値>youtubeの縦横比16:9=>9/16した値 $("#player").css({ height: "100%", width: ratio_H, "margin-top": "0", "margin-left": -ratio_H / 2, // "margin-left": -ratio_H, left: "50%", top: "0" }); } else { $("#player").css({ width: "100%", height: ratio_W, "margin-top": -ratio_W / 2, "margin-left": "0", top: "50%", left: "0" }); } } $WIN.on("resize", function() { // windowの縦横比が変わったら実行する処理 yt_screen_retio(); }); $(function() { // domツリーが構築したら実行する処理 yt_screen_retio(); });

投稿2019/02/18 06:23

hsd

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問