4

私はクライアントのためのサイトを開発していますが、私たちは両方ともAndroid上のChromeでこの問題を再現できたため、この時点で問題は解決していません。我々はChromeでAndroid上でこのページをロード何らかの理由で最新のAPIを使用しているYouTube動画はAndroidのChromeで再生できません。

、:

http://miso.gostppro.com

ビデオローダがちょうどスピニング、スピニングを保持し、ビデオが再生されません。

それをタップしても何も起こりません(再生を開始せず、YouTubeアプリでは開きません)。

これは他のブラウザでもうまくいきます(Android用Firefoxはそれを読み込んで正しく再生します)。なぜこれが起こっているのか混乱しています。

私には何が欠けていますか?

APIなどの呼び出しがありますか?

私は迷っています。

答えて

5

要するに、動作しません。 documentation引用:あなたがモバイル環境で許可され、コンソールに警告をスローしていないあなたのonPlayerReadyハンドラにevent.target.playVideo();を呼んでいる

The HTML5 element, in certain mobile browsers (such as Chrome and Safari), only allows playback to take place if it's initiated by a user interaction (such as tapping on the player). (...) Due to this restriction, functions and parameters such as autoplay, playVideo(), loadVideoById() won't work in all mobile environments.

(今後の参考のために - 私は非常にChromeでRemote Debuggingの使用をお勧めします)。

問題に戻る - 私はちょうどonPlayerReadyハンドラを取り除き、代わりにautoplayプレーヤー変数を使用します。それはデスクトップ上で動作するはずです。

0

私は、Android 5.1.1を実行している私のNexus 5の上でWebページをテストし、いくつかの問題が見つかりました:私はこのエラーを得ていた

まず:

私がhttpsエラー対HTTPだと思った

Failed to execute 'postMessage' on 'DOMWindow': https://www.youtube.com !== http://miso.gostppro.com

jkondratowiczの答えで指摘したように

Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture.

、これは自動再生を禁止モバイルブラウザの副産物である:が、私は離れて行き、私は新しい警告を見たエラーでページをリフレッシュした後、 HTML5動画で私が考えることができるのは、プレーヤーと自動再生パラメータに関連するJavaScriptをすべて削除して、準備ができたら手動でビデオ再生を開始できるようにすることだけです。

私はまた、iframeの上play()を呼び出し、ページロードイベントにリスナーを追加することで混合結果の結果を得ていた。

function callback() { 
    document.querySelector('ytplayer').play(); 
} 

window.addEventListener("load", callback, false); 
関連する問題