سؤال

في Chrome (7.0.517.44) أنا أستخدم <video> العلامة وسوف يتم تشغيل الصوت فقط كل مرة تم تشغيل الفيديو.

لماذا لا يتم تشغيل الصوت دائمًا مع الفيديو؟

في الصفحة:

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

على النقر فوق هذا JS يتم تشغيله.

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);
}
هل كانت مفيدة؟

المحلول

واجهت مشكلة مشابهة للغاية مع <audio> علامة مؤخرا. على الرغم من أنني لم أكن قادرًا على تحديد السبب الفعلي ، إلا أنني تمكنت من العمل حول القضية عن طريق إزالة القديم <audio> عنصر من DOM واستبداله بعنصر متطابق مباشرة قبل كل مكالمة للعب ().

نصائح أخرى

ما زلت أجد تناقضات مع سلوك هذه العناصر.

هل حاولت انتظار تشغيل طريقة .play () حتى بعد تلقي ملف يستطيع اللعب أو Canplaythrough حدث؟

ربما تكون اسوا طلقة النار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top