Why won't my HTML5 audio loop?

后端 未结 2 1454
长发绾君心
长发绾君心 2020-12-10 09:43

The site is up at: http://ajf.me/stuff/eva at the time of writing. The source code is this:





        
相关标签:
2条回答
  • 2020-12-10 10:15

    You can just do this

    <audio autoplay loop>

    The attributes do not need to have anything else.


    EDIT

    According to this, Firefox doesn't like loop. It suggests a js solution:

    document.getElementById('audio_2').addEventListener('ended', function(){
        this.currentTime = 0;
    }, false);
    

    http://forestmist.org/2010/04/html5-audio-loops/


    EDIT

    HTML5 audio loop now works with firefox. Confirmed in version 26.0 (might have been earlier)

    0 讨论(0)
  • 2020-12-10 10:23

    Firefox has not yet implemented loop. I would check that you have the newest version of Firefox, but I believe this is still the case. You can check whether or not it is supported with:

    if (typeof new Audio().loop == 'boolean')
    

    If that evaluates to true, then loop is implemented in the browser. If false, then it is not. Add that to your javascript, put an id tag on your audio and use that if statement to check for loop.

    if !(typeof new Audio().loop == 'boolean') {
        audioToLoop = document.getElementById('audio_id_here');
        audioToLoop.addEventListener('ended', function () {
            this.currentTime = 0;
            this.play();
        }, false);
    }
    

    Then it should loop even in unsupported browsers.

    0 讨论(0)
提交回复
热议问题