Видео HTML5 на iPad

У меня есть динамическая видео галерея, и она работает отлично на компьютере. При перемещении в iPad видео начинает загружаться, и оно показывает, что банка не играет значок. Вместо этого я быть бы видео не показывать, пока это не готово играть. Я попытался добавить слушателей событий для "canplaythrough" и "canplay" и когда они происходят, чтобы видео постепенно появилось затем игра. Разве iPad не поддерживает эти события?

new_video = document.createElement('video');
new_video.setAttribute('class', 'none');
new_video.setAttribute('width', '568');
new_video.setAttribute('height', '269');
new_video.setAttribute('id', 'video'+video_num);
current_video.insertBefore(new_video, video_controls);
new_video.load();
new_video.addEventListener('canplaythrough', function() {
     $('#video'+video_num').fadeIn(100);
     new_video.play();
});
17
задан mrollinsiv 25 May 2010 в 21:38
поделиться

3 ответа

Проверьте, может ли браузер воспроизводить видео, прежде чем вы попытаетесь его загрузить:

function canPlayVorbis() {
    var v = document.createElement('video');
    return !!(v.canPlayType && v.canPlayType('video/ogg; codecs="theora, vorbis"').replace(/no/, ''));
}

function canPlayMP4() {
    var v = document.createElement('video');
    return !!(v.canPlayType && v.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/, ''));
}

function canPlayWebM() {
    var v = document.createElement('video');
    return !!(v.canPlayType && v.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/, ''));
}

Взято из Dive Into HTML5 Appendix A .

1
ответ дан 30 November 2019 в 14:17
поделиться

На iPad видео не загружается, пока пользователь не запустит событие. Это сделано специально для Apple, чтобы пользователи iPhone или iPad не сжигали свои тарифные планы. Так что ты не сможешь делать то, что хочешь, извините.

Перейдите по этой ссылке и найдите некоторую информацию в разделе «Особенности устройства». Но он не начнет загружать данные, поэтому он не может запустить событие canplaythrough, пока пользователь не коснется его.

4
ответ дан 30 November 2019 в 14:17
поделиться

автоматически запускает плеер на ipad/iphone:

function fakeClick(fn) {
    var $a = $('<a href="#" id="fakeClick"></a>');

    $a.bind("click", function(e) {
        e.preventDefault();
        fn();
    });

    $("body").append($a);

    var evt,
        el = $("#fakeClick").get(0);

        if (document.createEvent) {
            evt = document.createEvent("MouseEvents");
            if (evt.initMouseEvent) {
                evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
                el.dispatchEvent(evt);
            }
        }

        $(el).remove();
} 

$(function() {
    var video = $("#mobileVideo").get(0);

    fakeClick(function() {
        video.play();
    });
});
1
ответ дан 30 November 2019 в 14:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: