IEでのYouTube埋め込み動画再生エラー 「エラーが発生しました。しばらくしてからもう一度お試しください。」

母さんです。
なぜ「母さん」であるかは、一旦置いておきましょう。

少し前の話になるのですが、社内にあるWindowsの検証マシンで
「YouTubeの埋め込み動画が再生できない」という問題にぶつかりました。

実際のエラー表示のキャプチャ

解決に向け、色々な方法を試みました。
まず、「こういう時はどのように調べればいいのだろう」と・・・。
大体のデバッグがそうかと思いますが、
現象を言葉にするというところから苦悩が始まります。

YouTube 埋め込み 不具合 IE』
YouTube エラーが発生しました』
YouTube 直らない iframe

単語を組み合わせて検索し、ヒットした記事を読み、その方法を試し、
別の単語を組み合わせて検索し、ヒットした記事を読み、またその方法を試し・・・

今回のエラーについては、
いままで触ったことのないようなマシンの設定項目まで変更してみたのですが、
どうやっても解消されません。

ダメで元々が導いた解決方法

ある程度の方法を試した段階で、なんだか怪しい手応えを感じました。
“ひょっとしたらコードの書き方とかそういう問題ではないのでは”
という直感が・・・

案の定、

ダメ元で試してみた方法が、あっさりと解決を導きました。


解決方法:

イヤホンでもスピーカーでも良いので、
音声を出力できるものをマシンに設置する!

この方法で再生エラーが解消された時は、
思わず口から「えぇぇぇぇ・・・」と漏れました。

当該のWindowsマシンにサウンドデバイスが存在していないことが直接の原因です。

再生エラーの症状についてもうちょっと詳しく検証

原因が判明してから視点を変えて検証をし直してみると、
色々なことが分かりました。

まず、エラーは、動画がまったく再生できないというものではなく
2〜3秒タイムラインをカタカタ行ったり来たりしたあと
『エラーが発生しました。しばらくしてからもう一度お試しください。』
というメッセージが出るというもの。

その他、

(1)同じマシンで再生エラーが起きるブラウザはIEだけ
同じマシンのGoogle Chrome, Firefoxは問題ない。
問題なく再生されたブラウザの方はVideoタグで動画が表示され
IEの方は同じ埋め込みコードでもFlashで表示されていた

(2)同じマシンのIEでも、再生できる動画と再生できない動画がある
パラメーターの設定値やプライバシー強化モードの設定は関係なく、
どうやら動画の長さの問題
今回のマシンのIEについては、長さ13秒がエラー発生のボーダー。

(3)違うマシンの同じバージョンのIEでは、問題なく正常に再生される

(3)が、問題解決へ繋がる決定打かと思います。
(この点にもう少し早く気付けていたら、あっさり解決できたことでしょう・・・)

サウンドデバイスが無効であることで、
Adobe Flash Playerがエラーを起こしていた模様です。

ただ動画の長さによっては再生できるものもあったので、
マシンのスペックとIEのバージョンの組み合わせによって
レンダリング負荷の限界点が低くなっていたのだとか、
もうちょっと原因を的確に表現できるポイントがある気もします。

見方を変えると、バグの解決方法以外にもいろいろな発見がありますね。
自分の考え方の傾向を把握すると、きっとデバッグ時の苦しさも減りますよ。