admin管理员组

文章数量:1406042

Im playing some HTML5 audio using the Howler.js library.

Currently im able to determine the total length of the audio file with sound.duration(); however im not sure how to create a timer to show how much time that has been played.

I create a simple sound object like so:

var sound = new Howl({
    src: ['sound.ogg', 'sound.mp3', 'sound.wav'],
    autoplay: true,
    loop: false,
    volume: 1,
    onload: function() {
        var totalSoundDuration = sound.duration();
    },
    onplay: function(getSoundId) {
        //sound playing
    },
    onend: function() {
        //sound play finished
    }
});

I can't seem to find any method within the library (?) to check for currentTime so I can update my timer function.

An alternative route could simply be to trigger/toggle a setInterval upon onplay: like:

var currentTimeTracker=setInterval(function () {myTimer()}, 1000);

function myTimer() {
    timePlayed++;

    $("#time" ).html(timePlayed);
}

Not sure if that would be a good approach? Any suggestions?

Howler.js ref: .js/tree/2.0#global-core-properties

Im playing some HTML5 audio using the Howler.js library.

Currently im able to determine the total length of the audio file with sound.duration(); however im not sure how to create a timer to show how much time that has been played.

I create a simple sound object like so:

var sound = new Howl({
    src: ['sound.ogg', 'sound.mp3', 'sound.wav'],
    autoplay: true,
    loop: false,
    volume: 1,
    onload: function() {
        var totalSoundDuration = sound.duration();
    },
    onplay: function(getSoundId) {
        //sound playing
    },
    onend: function() {
        //sound play finished
    }
});

I can't seem to find any method within the library (?) to check for currentTime so I can update my timer function.

An alternative route could simply be to trigger/toggle a setInterval upon onplay: like:

var currentTimeTracker=setInterval(function () {myTimer()}, 1000);

function myTimer() {
    timePlayed++;

    $("#time" ).html(timePlayed);
}

Not sure if that would be a good approach? Any suggestions?

Howler.js ref: https://github./goldfire/howler.js/tree/2.0#global-core-properties

Share Improve this question asked Dec 15, 2014 at 10:50 user1231561user1231561 3,3598 gold badges41 silver badges57 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 2

According to http://goldfirestudios./blog/104/howler.js-Modern-Web-Audio-Javascript-Library sound.pos() should get the current position. The posmethod can get or set, depending on whether you pass through the optional position parameter.

本文标签: javascriptHTML5 audioget time played of a sound object (howlerjs)Stack Overflow