Pergunta

No Chrome (7.0.517.44), estou usando o <video> Tag e o áudio só tocarão todas as outras vezes O vídeo é reproduzido.

Por que o áudio nem sempre está jogando junto com o vídeo?

Na página:

<div id="VideoShow">
    <video id="VideoPlay" width=800 height=600></video>
</div>

Ao clicar neste JS, é executado.

function playVideo(videoName) {
    $("#VideoShow").fadeIn(300);
    var Vid = document.getElementsByTagName('video')[0];
    Vid.src = videoName;
    Vid.play();
    Vid.addEventListener('ended', function(e) {
        closeVideo();
    }, false);
}

function closeVideo() {
    var Vid = document.getElementsByTagName('video')[0];
    Vid.removeEventListener('ended', arguments.callee, false);
    Vid.pause();
    $("#VideoShow").fadeOut(300);
}
Foi útil?

Solução

Eu tive um problema muito semelhante com o <audio> tag recentemente. Embora eu não tenha conseguido determinar a causa real, fui capaz de contornar o problema removendo o velho <audio> elemento do DOM e substituindo -o por um elemento idêntico imediatamente antes de cada chamada para reproduzir ().

Outras dicas

Continuo encontrando inconsistências com o comportamento desses elementos.

Você já tentou esperar para executar o método .Play () até depois de receber um pode jogar ou CanPlaythrough evento?

Pode valer a pena um tiro.

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