4

iframe APIを介してプログラムで要素にビデオをロードし、モバイル(iOS 6、iOS 7、最新のAndroid)で再生できるようにする必要があります。

これがJavaScriptです:

var tag = document.createElement('script');

tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

var player

var ping = new VideoModel({
    videoId: 'qMD2Jifubto',
    start: 20,
    end: 28
});

function VideoModel(attributes) {

        this.attributes = {
            videoId: attributes.videoId,
            start: attributes.start,
            end: attributes.end
        }

        this.get = function(attr) {
            if (attr) {
                return this.attributes[attr]
            } else {
                return this.attributes
            }

        }

}

function onYouTubeIframeAPIReady() {

    player = new YT.Player('thumbnail-inner', {
        height: '100%',
        width: '100%',
        enablejsapi: 1,
        events: {
            'onReady': onPlayerReady
        },
        rel: 0,
        playerVars: {
            controls: 0,
            modestBranding: 1,
            showinfo: 0
        }

    });

}

function onPlayerReady(event) {
    event.target.loadVideoById({'videoId': ping.get('videoId'), 'startSeconds': ping.get('start'), 'endSeconds': ping.get('end'), 'suggestedQuality': 'large'});
}

これはデスクトップでは問題なく動作しますが、モバイル (ios と android でのテスト) では YouTube プレーヤーは読み込まれますが、ビデオは「ビデオが利用できません」で読み込まれるか、単に黒い画面になります。

モバイルでこの作業を行うのを手伝ってもらえますか?

4

1 に答える 1

0

ユーザーの操作が問題にならない場合は、html ファイル (iframe 内) で autoplay プロパティを 1 に設定できます。それはアンドロイドで動作します。

    <iframe src="http://www.youtube.com/embed/#{video_id}?enablejsapi=1&autoplay=1"></iframe>

特にiframeとYTplayer APIで、AndroidブラウザがYouTube APIに応答しないようです。プログラム的に開始されないだけです。

于 2013-12-27T14:21:09.393 に答える