39

I would like to display the current time of of an html 5 audio element and the duration of that element. I've been looking over the internet but can't find a functional script which allows me to display how long the audio files is and what the time currently is e.g. 1:35 / 3:20.

Any one got any ideas :)?

Lenny Magico
  • 1,183
  • 5
  • 16
  • 28

11 Answers11

36

Here's an example:

<audio id="track" src="http://upload.wikimedia.org/wikipedia/commons/a/a9/Tromboon-sample.ogg"
       ontimeupdate="document.getElementById('tracktime').innerHTML = Math.floor(this.currentTime) + ' / ' + Math.floor(this.duration);">
    <p>Your browser does not support the audio element</p>
</audio>
<span id="tracktime">0 / 0</span>
<button onclick="document.getElementById('track').play();">Play</button>

This should work in Firefox and Chrome, for other browsers you'll probably need to add alternative encodings.

robertc
  • 74,533
  • 18
  • 193
  • 177
31

here is simple usage. keep in mind html5 elements are still in the works so anything can change:

    audio = document.getElementsByTagName("audio")[0];

    //functions
    audio.load();
    audio.play();
    audio.pause();

    //properties
    audio.currentSrc  
    audio.currentTime  
    audio.duration

here is the reference HTML5 Audio

to get the currentTime while audio is playing you must attach the timeupdate event and update your current time within the callback function.

simple tutorial audio/video html5 on dev.opera

KJYe.Name
  • 16,969
  • 5
  • 48
  • 63
  • 1
    Don't you love how your answers not correct unless you write the code the OP wants? Good answer. – clamchoda Feb 14 '11 at 15:10
  • i don't want to tinker with html5 until its official. too many browsers to debug lol =D thanks mate. – KJYe.Name Feb 14 '11 at 15:12
  • 1
    I'm not saying his answer is wrong, I just don't understand JS and html 5 audio is new to me so I didn't quite understand what to do with this :) – Lenny Magico Feb 14 '11 at 15:20
  • It takes awhile for someone to easily put all of these different components together. I know when I was starting out, showing just this wouldn't have helped me understand how the code can be written. – Jared Dunham Dec 03 '15 at 14:49
14

robertc's version will work fine except for the fact that it does not turn the number of seconds you get from math.floor() into proper time values.

Here is my function called when ontimeupdate is called:

<audio id='audioTrack' ontimeupdate='updateTrackTime(this);'>
  Audio tag not supported in this browser</audio>
<script>
function updateTrackTime(track){
  var currTimeDiv = document.getElementById('currentTime');
  var durationDiv = document.getElementById('duration');

  var currTime = Math.floor(track.currentTime).toString(); 
  var duration = Math.floor(track.duration).toString();

  currTimeDiv.innerHTML = formatSecondsAsTime(currTime);

  if (isNaN(duration)){
    durationDiv.innerHTML = '00:00';
  } 
  else{
    durationDiv.innerHTML = formatSecondsAsTime(duration);
  }
}
</script>

I modified formatSecondsAsTime() from something I found here:

function formatSecondsAsTime(secs, format) {
  var hr  = Math.floor(secs / 3600);
  var min = Math.floor((secs - (hr * 3600))/60);
  var sec = Math.floor(secs - (hr * 3600) -  (min * 60));

  if (min < 10){ 
    min = "0" + min; 
  }
  if (sec < 10){ 
    sec  = "0" + sec;
  }

  return min + ':' + sec;
}
KStensland
  • 305
  • 3
  • 12
5

When you use audio.duration(). It will give you result in seconds. You just have to change this in minutes and seconds. Demo of Code is here, hope it will help you.

song.addEventListener('timeupdate',function (){

    var duration = song.duration; //song is object of audio.  song= new Audio();

    var sec= new Number();
    var min= new Number();
     sec = Math.floor( duration );    
     min = Math.floor( sec / 60 );
    min = min >= 10 ? min : '0' + min;    
    sec = Math.floor( sec % 60 );
    sec = sec >= 10 ? sec : '0' + sec;

    $("#total_duration").html(min + ":"+ sec);   //Id where i have to print the total duration of song.

    });

This code will definitely work for total duration. To get current Time, you just have to use song.currentTime; in place of song.duration; Whole code will remain same.

Anuj Sharma
  • 4,294
  • 2
  • 37
  • 53
  • Yes! Thank you very much. This is the only answer that worked for me :) – Andri Feb 19 '19 at 10:53
  • @anuj-sharma can you pls help me with this one --> https://stackoverflow.com/questions/56765496/how-to-dynamically-display-the-video-timestamp-in-html5-js – vinita Jun 26 '19 at 05:17
5

ES6

       const audio = new Audio();
       audio.src = document.querySelector('#audio').src;
       audio.play();
       audio.addEventListener('timeupdate', (event) => {
            const currentTime = Math.floor(audio.currentTime);
            const duration = Math.floor(audio.duration);
        }, false);
Israt Jahan Simu
  • 1,040
  • 13
  • 7
3

for those who are looking to implement timeupdate in your jquery.

<audio id="myAudio">
    <source src='test.mp3' type="audio/mp3" />
</audio>

$("audio#myAudio").get(0).addEventListener("timeupdate",function(){
        // do your stuff here
    });
yourkishore
  • 278
  • 8
  • 19
1
  this.player = new Audio(item.url)
  this.player.play()

  this.player.addEventListener('timeupdate', (event) => {
      const currentTime = Math.floor(this.player.currentTime);
      const duration = Math.floor(this.player.duration);
      this.barWidth = (currentTime*100)/duration
  }, false);
Monu Mehta
  • 11
  • 2
  • This question already contains multiple answers and an accepted answer. Can you explain (by editing your answer) where your answer differs from the other answers? Also know that Code-only answers are not useful in the long run. – 7uc1f3r Aug 07 '20 at 07:53
  • Was looking for an answer that was js only, and did not utilize the dom. thanks for posting this! – TK421 May 05 '21 at 21:41
0

On TypeScript:

formatTime(seconds: number): string {

    let minutes: any = Math.floor(seconds / 60);
    let secs: any = Math.floor(seconds % 60);

    if (minutes < 10) {
        minutes = '0' + minutes;
    }

    if (secs < 10) {
        secs = '0' + secs;
    }

    return minutes +  ':' + secs;
}

Remember to replace magic numbers with constants. It's an example.

Ivan Lencina
  • 1,787
  • 1
  • 14
  • 25
0

Not a new answer but a mix of multiple answers. You may try this.

<audio controls src="source_of_audio_file" id="audio" class="audio" ontimeupdate="update_time(this.currentTime, this.duration);" >
  Your browser does not support the audio element.
</audio>


function update_time(current_time, audio_duration){
  $("#currentAudioTime").html(format_time(current_time));
  $("#totalAudioDuration").html(format_time(audio_duration));
}

function format_time(audio_duration){
  sec = Math.floor( audio_duration );
  min = Math.floor( sec / 60 );
  min = min >= 10 ? min : '0' + min;
  sec = Math.floor( sec % 60 );
  sec = sec >= 10 ? sec : '0' + sec;
  return min + ":"+ sec;
}

<div>
  <span id="currentAudioTime"></span> : <span id="totalAudioDuration"></span>
</div>
rahim.nagori
  • 636
  • 8
  • 20
0

Or you can use the controls

the user to control audio playback, including volume, seeking, and pause/resume playback.

<audio controls>
<source src="data:audio/wav;base64,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g5gM6no7tDosHMqGcS1HQhkJQaAPlOdqmQkL7Z8iODk2Tkh8mHYl1CcrLTCN0/XHy1gQyoYOp1RSE1G8TIY6yACt5oagM1+1QmGAZYGJAVU2kwXJhhHpey0WayqvGII+lYRjJsAUWgVAaQhGe05LJ1SMqqRyH5KJJ7CIKAORaOYtW3W1rASkZJLLIkqWiUjMVK6CMxUnR88lBq+IJqdH3yy7PacuEpUcntkpi4ZRre9q62vNGR2DVGST3mj662lF1zFwyPoTkyTiSoJSqbrXtxkmpAbH4gnzJiYpBKXnrUB82Yu4dHxdEpeJKnGl11t6LkMSWDI+06Pkq0CVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZP+M9y9iuAt4Y3IAAA0gAAABF22C3kzhgYgAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU8NTxBHQyLgSQfkTTYe4JwbgRhfRBmixk/GPhCDnVzQzsDXGZhbDw3LOuR6zjXZpueWOcngmhwSPD8JwTgnDizw0MZHjAaD07B+PFobg4C2BHBMHEfY/zcEMJwLgZ5rrCjU5kYLYdBKEAc6vJWGAXA0HR/j1mWr2eJBLejy+IRnMjSSguEVX7pDZ0mZe7FsNAghCFA+JQPQIQPypuG6MeATh6k//uUZFGP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEBcEpZOKA9A1A4BbC8IhGgmw6zQJwhEyvQ867Q1AwGgoHkTRPxxnQhCnhJETdLsCGNMU52IthBCwN752XwuAYtRxwSEGIJPBVa+GrUTCextG0OOILeqjDI84GI81Ac5ziFmuhkV+rIo+xxxz/c29V3lV5vi5szW5KUTA9R6zLZ528b4GyurQwbvCsB9wnChrQ9D3Oh3hqy9v5TrLoho9Zpk7UcVqQhPvmEW840+Xg5z4JYvoeQcf8J8ShCID0g7MkR/8vh0MkBtFvQpoJwhhBDgN88zkSKPOwTB6pHCje+YSwLwag/UKSjEXBTi2CwLtMIxIDgMM83xOGQ5FArE4dC5HAyKyUwBDEpDY2RvYh6C4HQoNYjqRoYh6C4HQ9jqc614ghCEIrCZIGlbqpD97hzyZObtiEAitohKbRn9720kFo0bFowHA2iAIJJn9BRWFLhESiEFLSnGGT5FQQ//uURP+DsBYAgAOAAAgAAA0gAAABHJWQ0qe9OcOTshoU9j9ASe73aFsQNFw/uAEAWS+WLi4oiSLsn1ci8ClMKOxAoiXxBmkvHA8UW/SEuBSnd3PVqaZaRCapr3jYfGDnIo2Jz7Fvo+z9Xql9fp6+7oWyun/7qHj80xOj3OCjC/RiVHE1BA3ikpHjmPggUFb/6gwwmKHddaG5832UAAJE25zRpIIZsG6YUy8mjh/+wvs2Lx6mObrj45BBDwYIDwXFeyjSiOdKChiKTCn37n9NzrYyQZSiO//8jj/GLdhIIgQpmyIHAdBS6d///ViCA44QiudEZ6/////pU9yEOMO///9JUY6FdDkVSOVQNFI5DuQIsrZbLVERZHImGmAyQQAJPDOewsOcKsm6nU+Y9RuLIyCcwFY8C0fwLAIAuxEHGTDDyg8Yej9mtUaEZ8CcBE0T3/EQWEQynmHGzd2U905ASP4MNtzOoiB43w8FH//z5hwiBYf7nkQm6vFUhlWSwBCE//uUZMcMAwpMxBDJRRAngAhpBCJMDEUtIBSUgADTI2JKiiABAAAAAAOVkQcpeCmUytvEUok1Kaj9WNsJuFBp3NxO7gM066SqZx3gg7KOly9SiMyAhr2VAGBVGCKqo9SyemEvANACEKgV7RmGrtSnaCWFMepfGglSmSo7hlj0CLi3KRAGsQg5zpxrpniXNCGWoGpsYuaKWggePv+g7dOh/1MHQg//qJIk0W////8zN/SLRtUoABAAEralKVMG4wtKAyNrOvqTfBc3UbNGNjJTUhGAAIg4CQQjIIDTgIOZowaIaoZkGJ3s8aq7tl/4bXfF8JLC5dFO////4bzzmIo+8XaQrHBcnn7z+j/EAYr3gKqBFAMBCxyQN5KSUH3AOYIuAnvEhmdBEjLRMMi3FrJPPJE65OHPxvO1UOlHEgCi7QyxZ68NP+yTaWyS/+pwPw2mvr/nw9P////8uGy+sQ46P//+rLWr6yF7NefcmARiRZmVvkAQYGMmMYERGM4FUEyg//uUZOUAAylKV249QAQ0wmodx8QAjG0dWf2GgAllDuZTt5AABkGjiQIRcLJAEoHXBgygT8LGo406IwEXiSKQHtih6sp/nC8dGFjDDyKy6HURoZbN/qWl1L9afqGgZLVeIBqLorajDIifJElU+YxytwbI9FZmZiqf0cs1lTqw4ock0Rg6pBgE3NtGXZBy8JhdTzdFZdGGL3SdC9H//+oNAvMtJ6/rixE8Rf////zL8QqO9v//P1Voy96fSa4FAIaA8woCw20uUMEcW2HGUANCSbCDRllDCNhcZIMzmRSaGDQTHFXwSk8A6LzR+XxK6rF5X6KlGT0kQ2xjjmPt27vSv76VvSEGILju1bsgWInECwWEgFAEmJESkrrAVBbb+CSlJm5ke78fxtF9MqPifwrzH6ASEKYG9knyUZLlYHqfSS/92N2dP/4UQo+pdvSNAREP///Wm/USxGQd8Ypbt//931IAACUtzbViLXVniQGGAZBHyskGHgsBfBVW44CsHqET//uUZOeA8rVH1OnobaBXBZlgcy1MCuEdVeehsMFKFiTB3DUxwsddMNKVwyLoaVDasjAE91npagERxqBmrTUV1LTBk+tNzd0CGFVFZPh6IIwmDM1ReyGh//r9EdRIKndIGcEdKwICjJ6TtKWszBJLTWhZUxSM/dl0ZzadrZyCoFJYSKmtvt6mS6FyZtUb2RKguDeylM//q9v/6g0BCvdfX8ahhVVf//61esr/NRf5Lp/+RKnh0/Ds/YYpsumYCAee7BAY3i6fQowEsOggT9EQhgFvdESQkRDA4l0YdlDxxlwqrRTYNXazJ55dCxPkfWicC8FxM3Ih1Y/A4hPCRHcbMgMs1bWr//9ZMNVkAAAAWFpVz0Deu6raJDU/QBjFonjTkvGOANDFoxiBSnCQWYGXjwYiOGDj8sqeF14jabx6AcEwC/T80n44VoaJgJ/39dwwsRAkOgu/r0Org0hfA/DIB2Cqr+bmzUmJo0v1dYZbEcCoAYTTgIvYCwDGbE3sGMDV//uUZOmA8r1HVGnqbbRZJZkVdxBMCtUdTewxrsFVliQB3LUwAUikQVAtg3lABBAUwwDACEcjHCp9//1F8vi0iLObHTMnAsRDtDrJkhRZoZGAwUUgGF0QIrFAdyhcwjsNIb1GI2kZZLFv/yZ6ToD7JKjS/qIIXAIZQkoIwqBACYMKZIdjLzZND+4/N8oTF0GeMTEFAwDQkjI2M4YlMSEzfA8qaAcVmGHBnjCdsqHYtJrooMlohLzHgUoCTDwwxMbMTCD86IwECM0BRJqiyDBbZcLk07n8sN2RPEJPEFziABTNHhMGi4CDDTVEyUGS+dNURdZpKhjc4FrTcxPUX7/+75//vL+58qUTPlYJPLT2vcj2xKxyU891sJbde//r4D2Gx/wfrp/tdySFsPs+Pyf7P+hssDCHXge9N9JJdhgmDBxWlZhMDAOA5Cl6lRzrSAwaQ6iwaGNErWky3BfMpmrUOv2sEoE4U9afHWvuNHZU8baKBhgwd+1LDxCSNT019RuJ//uUZOkH5kBjyMObq9C7xZghc9syV4GPIQ7us8K6FyCBr2iRpEsP1////v5TvDCLSfdyT/+v3rsclIWC2IpziqofgMp9xJgkSZE+ksqWJfHYZdwCrpw5w41BRTEr/n////zpVRPJTAn0ASBAqRdYnidEogmlAMXgYVrMi8eUHlCgB/I8YGij//v+PkSRv/iEw4Qg8ARphxBvQ4OQhTKYHQeBg0mImFNyAYxgHJiTAfmCqCqKDRIoRKShSalgClCAkGpUERq3xxUa6DIhi94VENsJJDFmzFyRk+YAOZAgoGUAlV1w25TCtxyhQcNuWhT/Q63WABANLimg/jSQRDlBlPqK1GA3t/vHHnN83f5///838fdes67/LVnrz+Yu+dZBFTbdv/IRFtG/qf6hNGkGv/Wzvv6nP5z+G5TgtO/ooklVcgAoBCBABlNTVDHnBkg6fN9+dBmsDP6/TKZ4GMhMctuH5QVtEokl4SFef21/BUcgjWGWBTIO0vKSWTpDTEwK//uUZB+Ac9dczONJpDBWBajVde1uTI0vN60ucMEgF6NBnsTwTf1LdLr9fqPmRsXREAYqRMnRMnaXUDFNgSAgNNCqbmp0u///+tAvD6NEqCicCI4WxKrlkhPzBv///6ZqgAAJ6WLvXUzovoBQTMGDMOyJZMRwrIgXQSNDUadI2h3laeynXIYh5HSaJ2n+7RykAdDFb1DGtBm3nXw/SQzdRpoz3eDIPFiV0WT2////61To/BIGNBc3AHBToAYBAorOMuTVLyQ2IBRzpKm8XxfCzE5gqwiJ+xl57juj5qyVMBh1SaR7mFvCodGBrKRZvJQ2c639HZL//0RrAqk/o+ZpOpMUgBapopX///66JPnlIVICkhMPbJZeW//lORyTTlyHgAQd9B+SXxi4ERgCAyGLrSus+LP5BG5lwVgb7S4Q3aRxODWsAPpiWy89bdaKkzNSSSTzMWpjll////oNTB9PIJTi1VKg6AFED/UdDaXSozDpzCfuSFmFDmIuU2Rw4wOy//uUZA6AE39cy9sbocBDpaj4dY12DLlxO6y+TxESFmMV1LXQQFAKVcfTKdRtMVk/o32LzucHLDFABKImXXsWCqiTy/9ev//N00x0AiqJc07nnMimEhgBw8pIqX///9aKQ1WSRqcUmF1ky6nMqxbWf0y3////MDxACAABJJUzBRN0lBRCAAEEs40SAwRBMBAyj86sPP7aUo496qj5q7XPReBA3jtvt/WkrrudrV///+iy0WMBRP7P///+mSkKBSVBIBAtNikWU0eF9KwiLPxJy0DZ5dLPF94EtycBMBE59qx9SlsxUSAYOcVp3A+MdbvDZCLAKiam/WU0zUljX/+//6K2Mwoj9L+gbAoxbb////olw+mgZYvyRe/Ue/X////nCAiltWNp/wW9pUBkQF8ZIzKJA6PDMEACyqcicyKgM6k5Pe2LzfqSyYQ4+FMvu6P0y+7u/u3////11mwrLlv////f//5Jc4C4E9IVAAEehVyqj+3aDRwkBdNEpK0nEzhj//uUZA2AE1pPTGtMpDBExYigde12DSU/Ma0OcMEHGmOl0x3YccC94O8LIda09d3Ud9kqgPQ3Gn4pxnbfRkdIFqZEi7RmZaIUxL/+pKtGr//MRTwUWqp/uYsWAz0MWE6bL////0CMPrrrDBpi/1FX86e//QRXtXgBaakEazA4BjDE0TxmzjFIKAUICh77PfVgEVAtmrFbuL2fdM7Xj5DIRTP7b9lOigEOu7dX////1qQcePy9jP///5ZzgTAX4hYAgROYmqNTAt/GEbzr0nIU9DEFQy790GpilIm4/10CcNXHAzDhAETBV/BiEEoIQAZlERN+TA+k2Lif62///zozoLVNpso06aRial4dILwKh/////qKRgujTFpG3+otfomn/8iCBAToYclcCNxWEa2ChFOZiZMJwXLivc8LgNLljDWppgcHXPmYJqHkqORYxucqCoBjP443////9zS3/UxFE4BZQ9RTITAOQAQAANIpX/fRiSJjzhwgeAclx25yKMso//uUZA4Bk4NPyutmpCBBJsigdy1ETYU/J02akMD3mqMZxh1QSHrGAgY+SEANBFkljcir6cFMWhEdkUFkMDV4GMQkQJlWXj5OImf+6///50jwotMDQ2UlufUkWDMIAQAQ0lDEwQJz///9MmzTUYIFUSY9Q5YJH9y63Kd4JOvFnSX5hGMx52o5iIEB4jF4XCpIKjAgGbYnovd1WUUzEeidbX+9MOS69Tps3////+e/1MpEvh3C1Fw4ubiAwMHgAU/j+bDotAIXCD5zEugvaQsugNrTgmBxouyjgYxCUpSz6z8QZFZOf+EZAgGJ1A5YwWJNNFSYtbrJ5v7f//zNYlYInpPHV/NjUySYLdAKXySKh4yJ////6LEedU6bG4jATN5ryUJb9Ru8XMsfMQW0hYMRAYZQJsTRPeNCmeJsAKEYM2nHvWjKrlkFY2Q3/qoFvqYEO5jf///+3/eaIo+OjxEdJI///ooVABgOcAMAAWKsuevkriBIKmgMTT3Vl1JYgiCQ//uUZA4BExpLyutppCA9xnjZcKd8CqktM60mENDsmeJBjpTobRg6ZVQWZZfm5t5A4XyYOn461G+gHWACuClXZ05UTl3/b//6kHNREwWMGRkg1BtdZcDUwDkxPorln///+xto1CXES/LBIeRBAgm3AAymZfUcVhCpzBBMOGU8wCDVXOzEH4j8nhFOKFdrDCM7uFGQW9/VARpfHEM7/////b/tlCYTM///6k4QoCrCDH2yj9Ixln0NiIQZRXD6z5C2eQIZR8gxsRrKsoloyUFIKRG3oL7O1/4vqkAx4CU4jXnE3Nv9dk/9b/1jXDsoIf1cUKGFEX1f///zn5HN+cRpX/hxYeK6DCHVJ3yjBiIHQqBzcWcW6j6LGpsqku5v4lHjSiw9lJ79VGgP+VG/////2/75TgAESP///dVFhgdwFm5B5EQxsWcVoOu7CC51iQ4oA0P3riUlFPR4t93l0IAIsWd6iFcOb1aVSgALz/O0DT/dbOy0GQZ/98XQhHV/VVLg//uUZCMAcsFLTfsibDA9BnigdMd2Cz0tXewlULDhC+OVtJVqPrf//+m6HqPfMixXzA0ezI/3yqKwNG1N33QWMCA3OXicMHQfDgNlzeqrN3o3QlqYUO2D02kDCxLZcRbTPMKlHb0O//XX////93CUM///9bRLo8CrvqbWmh3+0TYm1iQUSRgl6kadw4tDnwbI2fxXTys1QL2Fo4Wj3YVSxhpRxNb8mMdkbmsxA48cs7f/XEkIDZ76NyBQyAbIp///3cx0dlyNn0ZW+YQaqSK9SYxV2y59RU2OdwUkAMBL0JAfFywL0Fxdtu10YrNJkCBBmUnIBw0v4/ynKd3+Q/CL///8QL/l1WiUBHASKEIkJ61Vm4s6L/ZNgU31D9yWM6h3NnI9N8Z3tv6e4PFQkUnISdL9Ls6ghub9kXfofczV2M+r8xGKjXZ//D9//U7/yi0KLP2Sr1K3Q1Df//SqHFCUKOAAxaVoBIBHAAwABb8V0BGSAfAOJYYFcfB9D54sAmHI//uUZD0AEu5aUPsKFPA6okmdLwwwELlpR+0ylEC+iOu0wOGGzPBLeirPbSZbSFSr5OQP3+oBz7p7+H1BhTvd///z8JRgQADNCBCCK3Bhj1tuAhgBMNMVva1uHC87N1yOi+b6JBO2/9MWgYeiuMiTt9RrMLE5QsQCBBVLjE+vnPVa32IZ/SU/1pFwzLohMCa8Dnsw5YvkyR5cKZSLqRq9RgynOlUyOotQ/3f/zA0f+tSCh0g2WLEaukhU//////KqRRUSgfAQUuPtoXB5kQa8wuJhUEFBJBZltemFY7jKWiN2hLlJXjeaK5cxOpajS6fO5YsZNv8u9C2xoxApMlMEwrqUxMIM0ph5pxk6XJUIe0CnhmWua98GkEZjQHKFlKvS3VczpOtGl3FYhVEUHjLcJpDMAAKxpE/eMn2ayzRMc08yf/1R5GRFlBcgMmBOOB0tAYjDVhLmZ44VDj+lVW30f1pof/SPf+itEAYAO8mTVJff/////6lEB4xgEIFgs3Dx//uUZEQAE/5Y0us7ofQvwlo4DwkoTM1jR+0qlMC9EKow8Z22iHlf8ZXCxJ6aqlT9QY10ohHDCpbh9VYnQyalNVnmkn/OK0O/E34o9mhSUAMQCIAAqjjPWCs+m12vEp2hFGAqGN8XNXvTppY8SAHnoVrSq5q49BlhtJhG8yossz1FI9NaqKGz7mv/qUHyGZqfJABiCPDpX/1s7L//0G/+pv/ucD7l11X6v/////qUMkfNXa2IkEApzUJUSIx1KCwJ6pCEKVsIMhkR8rxBUtcm/wR68Fsq/+qkaND12q4mGwbIqttQAGAEgABhDURTVSJclQ1uiwaYHZYOAR1kANEz8Q+VRSJLofN25Xj1twNXPPJX04WFAI8uHq3XOB6i0jh+h+pmTNzc0LxRBqgDbMvGdlIPbyinWv/+pR9v/OM//0gbmnF1P6v0P/t//6x4Qpl1QAIDLBdYFBGmhPmW0YQXuIDEA61+whPnq4p86Blapg3xYpAMsl1W/Q1/+z/U/3/y//uUZE8AA2RZT+thnQIx4ipNYMVkjHlpQafuiUDOD+q08zWmy9QIFAQQAAdzzaNN+SiUziM+fQEHGgJQAxfAsBinCLDzRGk1WfUz4GkNyGeMjmrnS77ybFpXSo/+tkjh81E3gKYhpqM6jv9n1//6zZf/lh//WswDERSV//V/9X//QWQwQnLZ9V/rAKYucVYAhVH23kgKFWEnCuxmGfzjpjprd5qNZ//MvI0BAox6CVf9P9bdE4XgVd/V/01VkEBgIFy29roSpns06ZZKBZCq4/J3FheUvOKkg8WFQCdamfuXRUdAjW2Ns8hUlI0P4KIxCGccuiDkfnX/UZLRIObjHAUIgbhILhHEfWyloIeUnzpp/9aBRIIrV/I4r9/1qOgOEjVKqN/+tv/300P/0yadGlgAAAApUTBA7TWoSupyqqABQmV0iHoV+t2G7SDMSniQuRfzBIIt/4i+v5D+3///0lxAAIDL91ZCrI9ytIkrQMJJIjaMES2bE6AXBQsbEZIK//uUZGIAE5ZZTdtjpRAxIynfYMVjDeFjMozyiwi8CeW0PSxg3BFPKiQImB0lH37KARBx/6j7JPZiwGkHlLamg7/RnTcVk0NwIFAP4pDjCLlUni+m7fS5qzP/9Qorf9ZYG+//rMgQBC2XFP////zrf/x2zlUAABD4AqjCoujTphwCPvensyU4RhLtH4TCoORypjvAmFZrfnrmntIMEA2Ne3/cF5AAABAAJnqVuUmSgJiDtC33FhoRHMsTVBHDLwAkCiyIVkhyNTNRrYUBxqBDhgAfQSAcXQfvRWcOIGbEPDLaTJrqMkOutdMpkQJcckAlAB8zofYqn1y4b2f3rU3/1qI4iZt/vMhVp/rZNSbha+M4bJof///9Z51/+5J0P4AA1QQABzOM3HCUqlilKqHZUsCC4lEGSw9NyZuo4WDw/v1INArfoPxL6hA6C/7HC0AAMBAL3vTAK6YzWbKFgNeYCWAQYclwQDmmzIVI5ElUZkzG5wFIrKOZwkWIHt3S8mKn//uUZG8AU9lYzGMcosIwAxmaZK95jjVlL24OlECtBuMFrmFC/1F4wcgAdEmrpnW+ukgiShmIQAPMgeFUHrkwX0zQ3Opq871p//3FSPt/1k0RRNf/iGEHLRo3////ON/+iXDFFaJSu5HGCwAQkDyXUD2AmOongpyCACgcwcQrVtSEdSrWmohilzKwkM5znV8AwBCfv4++rdoizAAALgzwUBzq/cmOGTMzHHkFILZBoAcWGYZtAgBORFgiADgISYqkj+6LIrY2AYAp6g9Gqv3QJo1E7k6LKAWC4GmA0G8kSNEDUxJ0mw9d+rUdQ//PkqUlt/SMibGSJFL+tKgHLCkTNn//7//MH//UYkw9JuVJ1r/cZ108jYYUQab8wsLjjfuBw0BwVBwRChPWCQ1Vha7/rmbAg5Gua7FBz/kQ7QAAAQAAZX+v886MrYhUISKQSFWs+aMHituD5kkiqd6VaZTPXGYhUoPL2QgGog4ib41dvYxKxyxiRoKEz9mpFBS09TOV//uUZHkA8+VZy0N8rIAv4uigcAKiD+VlK4xuiUC6i+MBrhUpS4XxNpDhWQDFwG+lhqgg5OM5oT5qQw3/rRV/9mE0RV/oDdHeXVt/XOhiEYwkr//6n/9Rkb//Usni/LfsM5kMeyGA59DRECS+S0ML4EwcGQuC2hmBAWg40+KUm6fcAKB2O03f/vQgDnwqCNBAABAQBn2dxsPUytJ0MGFduZbw46CCYSuescwArxJJptqgnnkfduAhIJi+iCMAtLIiYp53rev6WjZeQoUxdABY47pStX7Mr6SifDGgn8UCBgMCAblAoOCQpU2PqOlMmBHpW/o3/+bkMGRZnfqWyhT0KzH+pZwG9hWxVf/9L//Ukf/51b0SYwuQZTt7GH/UMMOmtEcRglPM1pxDFIEKAOPdCQClHpW0LdY5Mnvi//+w4AjMDGB+WXxtqtCsoAhPJUMgZ8k+Ah9/FAQY4m8gIVAWOO9DahiUYMMDoT9MGABAABhmzc0T/MSgkgZsOeAIDPJ6//uUZHmG9D5ZSeOPrSAsIvigcedmT8lnJo3ykgC4C+JA/ijwSx/evdFEmibL4m4iozgNIYGVvCtycL88kxfEPJdv//6KZNCf1f9xTRiGSC2/qWH5iVnv/7f/1TM+v/puo6X1q9JKyjfctoJEymYIBayDBec1p5iQIBQEoDAaAmuQFJbFezWzVLOYX///mC2Aq9UdAAEQpP1dqQFaYSFwakeEcBDl9hKamf8wYpGxsRgbOYCZzTvIAhM92ZAcI0TwIBogZqZXsYs6BZIKBINH2TesmC31NY0NDQMvnieBQCgKZEHAkei4eTOFBMYwn3///rSIeMk9/0FDpFUpp7+yxchOm//8///uZ/+q9Zq8EV3/gJ84ZjTaGghWCgGneYBAZ1YdGGwS+K61lIwHC+OlITMDSk471/63oMagqkgJAI3T9yd/N3VoAYIwLEEyzETdTpikPAwfAKLjgJUzjEPv608CBU9AfhoQqkAAFcWmxy3///5X7M9SPUHEJ2//d4QV//uUZHcG891ZycN8rIAvIviQcY10DwFHJo5ptQC6C+JBzCmYU1z/3hnO25dB0SX2MODKx2FTMxZnu2phkpspL///IonBr/qrDU23XpJKIQaFf/+t//mKvkXxrQ3DUYhqdoDPoHYiHAchBBwMyDQsRfKAJXjQZbYpu4xFnIC2/NfHn/R7ygKDVS4AAACAZZao4zyX21Hib8Yj5KQwQrEIoFZ+IEIZvACWqo3Kdl0lhQuLDhsLAwGdkIGzNidSb+sxUcGfC3ZsjQQSIei3WqZpKE8E+OAAkAgafAgbeSBfPnE1j4FxKTdf//9EZFv1PmAqmar9aaROjLlr/I/Q71IBy/EYg/EbiRIue2DB0gR0E6SzBwk55fxDECgYYAQmX5fp6S0k3hS8/+rzhNkxAGLX6blBMS13zAoDHfd5I0yNOEOClxBkABAkxjeBCO6Ed9M5aKHYqDiYvwoYAgOguREwVgBCr3cO///3Wdyu6hjRV/WNy7L3Ro/7//zCpjVk78ry//uUZHwEc61CScscqsAtYuihZ2VYUKVHHq7ptQCTC6NgbaioC1c+GZTF9rtNIZdSPA0o3SX///UOIOWl/esQgLq2o+aoqLUBhgR0eaDf/63/9ZMPAJrTsMEho2m4YERsbbRdxlMUrpV8cC4WWsYhWtG48Aycz//+TAMgAADAEvblLSbusNR4KoJVigZZ5qQuEQSbxVALy5mEMIVsGYi/IJA5gonH8taYsCBagx2CU+5Znz/3//zOrLpZPBiDFcu3LFM3S///+9ZXeetGBYDMIGj4jlOh13Yh3Pk03BOE4S5op///ySBNFqPrVVDANuil2RoTonoOApX//1v/8iTiAABEv2M+q8GpnQScC7lVwb1ZpDqcgNhhCFlsSzZDywBY+3/9FIB+Gf////////9QaQQAAArcrO85A1qw3cDCUxCEvDiQYeCIHTQEfQbEAAAETZnom8aJhioycvkUChvQbMAgOdAzUv15ogThRFrAUPk8ddZsZFYqKVdPZkiIECGd//uUZIOEdCtRR8ubbUIwQujVM0o4D51HIU32kgC9C+LAnSjoANWAftmGFiCkOHYXjyRTC7yS///6iNIcnX/isGemv38mB3FpP////zI/3IDuOaDRU2FitxORCkNlgac11xgQRKAbLHVucrw3fBIgUu//7ughP/////W////wagYgAQB9/tWL0poH3DDWH55Hs35Va+0gQBBitwGzJgww1KXsgbVJIxg7OlDUDhoQYMDATWKXi6kv6RsXiigI4BIEF2usyF6zW0kklGovC6OYCEQgadHgYXHYN0gpgWS4WRSBfX///pOMCkrqSewvhvpTH6kmUopiQlYG//88CAgAACex9gl1jRzgp0P00w/8QglmzaCtRPIuFfu4jDMJWsESuc//9ziv/////mQUwMM53CX0GqcME44usUBDRXiYZ0qkYmcHzBAAFGdPcu9uggAwClHr9OCgVAZjcBJBRW1e/n//6x+N2IWAgbe3/MMpZR73//+VzdWH6rOgsIzSwoTV//uUZICFU+dCR8N9rIAu4ui2GyosDqkJHw3xU0C9i6IEzRywi327uUzHFmkzU///Kj4L2zfqglBGyKb+iGOEgbBb/+tC5+CoUCDtDqIlDW5As8D6VEwQEUtBz8BkQMIeehp4kpg6wBDW/06Vkn////878jUQAAND5+8cKiHUUALEaTdMUj3NeJn5j7qH+ooPIYR1hzVR0CCr+YXxcCQVQXJicKwAIU1Ps/0lnDo5ILNjZnNz5iKwgg2kpabpjkl4UOAYqA9UMNUDnlwsGbF8mg0Mrf//+Sg03b6ucE1SrNP9IvDHFRaZGNdEJfTgPxpEan4ZoDqvHlbPD5eUMFFAN3DmogBiVaZGz+7/////qf//7P//pAmUt/lJ/INYYYEC1ZO0QwRuXtinaYD4hsKMCA8AN48cUEYCYUsHADgmDwJAgADD8C0zyIJoOy/RY8cFCAFBgnT61OfImSNXrRMkiAEWHNAFBwA1DBQDEiZGqCKzUQoVVf//6zcW5/q86KvW//uUZIYHk5BCRyt9pIYuwdiAP0w2Dl0LHQ32sgC0hyIVrD2A3XdTS6JGapCRMRSrEaeNU7vhGJtW6Rc4FdiAXCChRzT/Kl5OwnwY4mJ1ONfXoT///7aP9SUBIACAQBH7PXcrEte8SC2VCqqYzKacEjL3mAa+ZiA4XAAsDJS0hp6YhhUPnmZ8GK4GgkCzBVVVVV">
</audio>
Carson
  • 6,105
  • 2
  • 37
  • 45
-1

to find the length of a audio file is simple!:

<html>
<head>
</head>
<body>
    <audio controls="" id="audio">
        <source src="audio.mp3">
    </audio>
    <button id="button">
    <p id="p"></p>
        GET LENGTH OF AUDIO
    </button>
<script>
    var MYAUDIO = document.getElementById(audio);
    var MYBUTTON = document.getElementById(button);
    var PARA = document.getElementById(p);
    function getAudioLength() {
        PARA.innerHTML = duration.MYAUDIO
    }
MYBUTTON.addEventListener(click, getAudioLength);
</script>
</body>
</html>