tag reproducir para insertar etiqueta codigo javascript flash audio

javascript - reproducir - soluciones para comprimir audio en el navegador?



insertar audio mp3 en html (1)

Flash: https://github.com/maxl0rd/standingwave3 Por ejemplo: www.jordansthings.com/blog/?p=5 compatible con mp3.

compresión js: https://github.com/jpemartins/speex.js no hay buenos ejemplos.

Estoy trabajando para grabar audio directamente en el navegador y POSTed en un servidor web. Actualmente estoy confiando en el flash para acceder al micrófono del usuario (usando el código derivado de https://code.google.com/p/wami-recorder/ ) y pasando el blob Wav / pcm grabado de flash a JS para cargarlo (usando XHR enviar). Esto funciona bien, pero estoy tratando de evitar el envío de datos WAV sin comprimir (puedo comprimir el audio en el servidor, pero estoy tratando de limitar el trabajo intensivo de CPU allí).

Las opciones que he encontrado hasta ahora para comprimir a ogg en el lado del cliente incluyen:

  • confiando en las características de laboratorio del flash para comprimir el audio en ogg (labs.byhook.com/2011/02/15/ogg-vorbis-encoder-for-flash-alchemy-series-part-1/). Como es una característica experimental en flash, es arriesgado confiar en ella.

  • portar un subconjunto mínimo de libvorbis a javascript para que el navegador pueda comprimir los datos. Esto probablemente suene un poco tonto, pero solo necesito bits cortos de audio (algunos segundos) para que el rendimiento no sea tan problemático. He mirado alrededor, pero no he podido encontrar ningún proyecto similar.

  • algunas otras soluciones específicas del navegador como http://firefogg.org que requieren una instalación sustancial del lado del usuario para funcionar, lo que no quiero.

Estoy buscando una mejor opción para resolver este problema, si tal opción existe. Obviamente espero que html5 getUserMedia () funcione, pero necesito una solución mientras tanto que funcione en varios navegadores (no necesariamente 100%, pero al menos en navegadores principales / recientes).