Audio Data API: Difference between revisions

Line 300: Line 300:


function audioWritten(event) {
function audioWritten(event) {
  // Clear audio buffer first
  while (buffer.length > 0) {
    var bufferedAudio = buffer.splice(0);
    buffer.length = 0;
    writeAudio(bufferedAudio);
  }
 
   // Write the current framebuffer
   // Write the current framebuffer
   var frameBuffer = event.mozFrameBuffer;
   var frameBuffer = event.mozFrameBuffer;
Line 313: Line 306:


function writeAudio(audio) {
function writeAudio(audio) {
   var written = a2.mozWriteAudio(audio);
  // If there's buffered data, write that first
  buffer = (buffer.length === 0) ? audio :
    buffer.concat(audio);
 
   var written = a2.mozWriteAudio(buffer);
   // If all data wasn't written, buffer it:
   // If all data wasn't written, buffer it:
   if (written < audio.length) {
   if (written < buffer.length) {
     buffer = buffer.concat(audio.slice(written))
     buffer = buffer.slice(written);
  } else {
    buffer.length = 0;
   }
   }
}
}
Confirmed users
656

edits