9

私たちは YouTube プレーヤーを開発しており、IFrame API を使用しています。Android 4.2.2 テスト デバイスを除いて、すべてが非常にうまく機能します。

これらのデバイスでのみ (Android の他のバージョンではなく)、ビデオ ビューをタップしてビデオを「手動で」開始する必要があります。他のすべてのデバイスでは、YouTube メソッドを使用してプログラムでビデオの再生を開始できます。

この方法でビデオが開始されると、YouTube API は期待どおりに動作します (つまり、再生、一時停止、停止のメソッドはすべて、プログラムによって期待どおりに動作します)。

コードの本質は次のとおりです。

var player;
function onYouTubeIframeAPIReady() {
  player = new YT.Player('player', {
    height: '390',
    width: '640',
    videoId: 'C0DPdy98e4c',
    playerVars: {
      controls: 0,
      showinfo: 0,
      modestbranding: 1
    }
  });
}

function playVideo() {
  player.playVideo();
}

ユーザーが (Android 4.2.2 デバイスで) 動画を「手動で」開始する前に、プログラムで動画を再生しようとすると、動画のバッファリングが開始され、失敗します。失敗すると、ビデオ ビューは黒くなり、次の画像のビデオ ビューの左上に見られる明確なパターンが表示されます。

Android 4.2.2 での YouTube API の失敗はこちら

他の誰かがこの問題を経験しましたか? それについて何をすべきかについて何か提案はありますか?

4

3 に答える 3

2

ドキュメントで説明されているように、この問題はブラウザーの制限によるものです: https://developers.google.com/youtube/iframe_api_reference#Mobile_considerations

ユーザーのクリックをシミュレートすることで、この制限を回避できると思います...

于 2014-02-07T15:47:06.400 に答える
0

これはまったく不可能だと思います。iOS Safari (iPhone、iPad) も同様です。ビデオの再生を開始するには、ユーザーの操作が必要です。

于 2014-12-31T13:48:16.907 に答える