¿Cómo puedo reproducir el audio en reversa con el web audio API? Parece que no puedo encontrar nada en los documentos de la API ...¿Cómo puedo reproducir audio en reversa con la API de audio web?
Respuesta
se podría hacer algo como esto:
var context = new AudioContext(),
request = new XMLHttpRequest();
request.open('GET', 'path/to/audio.mp3', true);
request.responseType = 'arraybuffer';
request.addEventListener('load', function(){
context.decodeAudioData(request.response, function(buffer){
var source = context.createBufferSource();
Array.prototype.reverse.call(buffer.getChannelData(0));
Array.prototype.reverse.call(buffer.getChannelData(1));
source.buffer = buffer;
});
});
Es un ejemplo muy sencillo - pero el punto es, básicamente, que se puede agarrar la instancia Float32Array
para cada canal en el AudioBuffer y invertirlos.
Puede usar el elemento <audio>
de html5 y establecer la propiedad playbackRate
en valor negativo.
en javascript que puede hacer lo siguiente
var song = document.getElementsByTagName('audio')[0];
song.playbackRate = -1;
La etiqueta de audio no funciona según mis requisitos, por lo que necesito usar específicamente la API de audio web. – lakenen
La velocidad de reproducción debe estar entre 0.5 y 4.0. Los valores negativos aún no funcionan. [Fuente de MDN] (https://developer.mozilla.org/en-US/Apps/Fundamentals/Audio_and_video_delivery/WebAudio_playbackRate_explained) – nicusor
si tiene un elemento AudioBufferSourceNode:
audioBufferSourceNode.playbackRate = -1;
operación -Editar-
Webkit no tiene esa característica.
Intenté esto y no funciona. El valor minValue en el AudioParam playbackRate es 0. Cuando lo configuro en un valor inferior a 0, parece que se reproduce con el valor predeterminado (que es 1). – lakenen
Okey ... es un error real que webkit :( https://bugs.webkit.org/show_bug.cgi?id=69725 – Nullpo
¡Sería fantástico si esto realmente funcionara! – lakenen
playbackRate = -1.0;
funciona en Safari (9.1.2) ahora!
- 1. Reproducir audio con Python
- 2. Reproducir audio con Node.JS
- 3. Web Audio API WaveShaperNode
- 4. reproducir datos pcm por web API de audio
- 5. Web Audio API reanudar desde la pausa
- 6. ¿Recibir arreglos de bytes de audio con HTML5 Audio API?
- 7. Reproducir varios archivos de audio con AVPlayer
- 8. cómo reproducir archivos de audio en android
- 9. ¿Hay una biblioteca que abstraiga Web Audio API y Mozilla Audio Data API para leer audio en bruto (MP3, ogg)
- 10. Integral html5 Audio API
- 11. Grabar y reproducir audio simultáneamente
- 12. ¿Cómo reproducir múltiples archivos de audio seguidos con AVAudioPlayer?
- 13. Web Audio API: ¿cómo puedo reiniciar la reproducción de un sonido?
- 14. ¿Puedo obtener una sesión de audio/aplicar unidades de audio para reproducir desde MPMusicPlayerController?
- 15. Elemento de audio HTML para reproducir?
- 16. ¿Cómo agregar iPod EQ al reproducir audio con AVPlayer?
- 17. No hay sonido en iOS 6 Web Audio API
- 18. la creación de un reproductor de audio usando pitón QWebView y la API de HTML5 Audio
- 19. Cómo reproducir un audio de fondo en varias páginas HTML.?
- 20. Configuración de playbackRate en el elemento de audio conectado a audio web api
- 21. Grabar y reproducir audio simultáneamente en iOS
- 22. Reproducción de transmisiones de audio seguras con audio HTML5
- 23. Reproducir audio y video con una tubería en Gstreamer (Python)
- 24. Java audio converter api
- 25. reproducir audio de Internet usando AVAudioPlayer
- 26. Reproducir y grabar audio al mismo tiempo
- 27. Reproducir un clip de audio en una llamada en curso
- 28. Problema al reproducir audio después de pausar con AVAudioPlayer
- 29. Comenzando con audio programático
- 30. cambiar la ruta de audio cuando se reproduce el audio
Esto funciona, gracias. en realidad estaba buscando algo más parecido a establecer playbackRate en un número negativo para que pueda reproducir algo hacia delante y hacia atrás fácilmente desde el mismo punto del clip, pero como respondió la pregunta con una respuesta válida (¡y funcional!), aceptaré – lakenen
Sí, pensé que probablemente estabas buscando algo un poco menos hacky, pero este era el único enfoque que se me ocurrió. Por lo que vale, es probable que aún sea posible construir algún código alrededor de este enfoque que lo haga lo que quiere, pero en realidad no he intentado invertir el búfer sobre la marcha, por lo que no puedo asegurarlo. De cualquier manera, es bueno ver a otros desarrolladores jugar con Web Audio API. Esperemos que una documentación decente comenzará a aparecer en los próximos meses. –