Audio Data API: Difference between revisions

Jump to navigation Jump to search
Line 290: Line 290:
var a1 = document.getElementById('a1'),
var a1 = document.getElementById('a1'),
     a2 = new Audio(),
     a2 = new Audio(),
    buffer = [];


function loadedMetadata(event) {
function loadedMetadata(event) {
Line 299: Line 300:


function audioWritten(event) {
function audioWritten(event) {
   // Write the current frame to a2
  // Clear audio buffer first
   a2.mozWriteAudio(event.mozFrameBuffer);
  while (buffer.length > 0) {
    var bufferedAudio = buffer.splice(0);
    buffer.length = 0;
    writeAudio(bufferedAudio);
  }
 
   // Write the current framebuffer
  var frameBuffer = event.mozFrameBuffer;
  writeAudio(frameBuffer);
}
 
function writeAudio(audio) {
   var written = a2.mozWriteAudio(audio);
  // If all data wasn't written, buffer it:
  if (written < audio.length) {
    var extra = audio.length - written;
    for (var i=0; i<extra; i++) {
      buffer.push(audio[written + i]);
    }
  }
}
}
</script>
</script>
Confirmed users
656

edits

Navigation menu