stopping html5 audio

前端 未结 3 1259
借酒劲吻你
借酒劲吻你 2021-01-21 23:41

How would I write a function that stops ALL instances of playing html5 audio in the DOM?

html5 audio

相关标签:
3条回答
  • 2021-01-21 23:58
    $.each($('audio'), function () {
        this.pause();
    });
    

    This just finds all the <audio> elements in the DOM and uses the standard API to pause the playback for each.

    Here's some excellent reading about <audio> and <video> tags: https://developer.mozilla.org/en/Using_HTML5_audio_and_video

    Update

    The documentation for the AudioPlayerV1 script states this is how you pause an <audio> element:

    $('#audio_id').AudioPlayerV1('pause');
    

    Source: http://1.s3.envato.com/files/14653378/index.html#how-to-use

    It looks like the AudioPlayerV1 plugin is supposed to be called on a selection of DOM element(s) and passed in an option.

    Update

    To run the plugin to pause multiple <audio> elements you should be able to do this:

    $('audio').AudioPlayerV1('pause');
    

    Which selects the <audio> elements in the DOM and passes them to the AudioPlayerV1 plugin. the plugin should be written to handle this but if it isn't then you have to call the plugin on each element. Inside a loop would be easiest:

    $.each($('audio'), function () {
        $(this).AudioPlayerV1('pause');
    });
    
    0 讨论(0)
  • 2021-01-22 00:09

    first you have to set an id for your audio element

    in your js :

    var ply = document.getElementById('player');

    var oldSrc = ply.src;// just to remember the old source

    ply.src = "";// to stop the player you have to replace the source with nothing

    0 讨论(0)
  • 2021-01-22 00:12

    This worked for me. .stop() threw an error.

    $.each($('audio'), function () {
        this.pause();
    });
    
    0 讨论(0)
提交回复
热议问题