Pergunta

Eu quero que o usuário tenha a opção de skip a preroll ad Após um tempo especificado (digamos 5 segundos no anúncio). Então o vídeo normal seria reproduzido. Como posso conseguir isso? Atualmente eu tenho algo de alinhamento disso:

var adManager = function () {
    var adSrc = url,
        src = "http://media.w3.org/2010/05/sintel/trailer.mp4";
    var adEnded = function () {
        videoPlayer.removeEventListener("ended", adEnded, false);
        videoPlayer.removeEventListener("playing", adPlaying, false);
        $("#companionad").hide();
        videoPlayer.src = src;
        videoPlayer.load();
        videoPlayer.play();
        console.log(videoPlayer.currentTime);
    };
    var adPlaying = function () {
        var companionad = $(responseXML).find("HTMLResource").text();
        $("#companionad").html(companionad);
        console.log(videoPlayer.currentTime);
    }
    return {
        init: function () {
            videoPlayer.src = adSrc;
            videoPlayer.load();
            videoPlayer.addEventListener("ended", adEnded, false);
            videoPlayer.addEventListener("playing", adPlaying, false);
            if (videoPlayer.currentTime > 5) {
                $("#skip").show();
            }
            console.log(videoPlayer.currentTime);
        }
    };
}();
adManager.init();

O que estou tentando fazer é:

if (videoPlayer.currentTime > 5) {
    $("#skip").show();
}

mostra a skip botão e continue no vídeo normal. Existe algum event Isso é continuamente demitido à medida que a reprodução de vídeo avança?

Foi útil?

Solução

Faça seu cheque contra o media.currentTime propriedade em um manipulador para o timeupdate evento. Ver documentação:

O evento TimeUpdate é disparado quando o tempo indicado pelo atributo CurrentTime foi atualizado.

Assim como um aparte, este Página de demonstração em vídeo html5 é uma referência realmente útil para brincar com as várias propriedades e eventos disponíveis para você.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top