Jak odtwarzać dźwięk w odwrotnej kolejności za pomocą web audio API? Nie mogę znaleźć niczego w dokumentacji API ...Jak odtwarzać dźwięk w odwrotnej kolejności za pomocą interfejsu web audio API?
Odpowiedz
Można zrobić coś takiego:
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;
});
});
Jest to bardzo prosty przykład - ale chodzi o to, w zasadzie, że można chwycić instancji Float32Array
dla każdego kanału w AudioBuffer i odwróć je.
Możesz użyć elementu <audio>
html5 i ustawić właściwość playbackRate
na wartość ujemną.
W JavaScript można wykonać następujące
var song = document.getElementsByTagName('audio')[0];
song.playbackRate = -1;
Znacznik dźwiękowy nie spełnia moich wymagań, dlatego muszę korzystać z interfejsu API Web Audio. – lakenen
Szybkość odtwarzania powinna wynosić od 0,5 do 4,0. Wartości ujemne nie działają jeszcze. [Źródło MDN] (https://developer.mozilla.org/en-US/Apps/Fundamentals/Audio_and_video_delivery/WebAudio_playbackRate_explained) – nicusor
jeśli element AudioBufferSourceNode:
audioBufferSourceNode.playbackRate = -1;
-EDIT-
Webkit nie posiada tej funkcji.
Próbowałem tego i to nie działa. Minimalna wartość parametru playbackRate AudioParam wynosi 0. Gdy ustawię ją na wartość niższą niż 0, wydaje się, że jest odtwarzana z wartością defaultValue (która wynosi 1). – lakenen
Okey ... to jest prawdziwy błąd w webkicie :( https://bugs.webkit.org/show_bug.cgi?id=69725 – Nullpo
Byłoby świetnie, gdyby to zadziałało! – lakenen
playbackRate = -1.0;
działa teraz w Safari (9.1.2)!
- 1. Jak płynnie odtwarzać dźwięk za pomocą api web audio
- 2. Odbiór tablic bajtów audio za pomocą interfejsu API HTML5 Audio?
- 3. Audio w Node-webkit za pomocą js węzła i Web Audio API
- 4. Wzmocnienie dźwięku za pomocą interfejsu Web Audio API
- 5. Jak mogę zmniejszyć szum wejściowy mikrofonu za pomocą interfejsu Web Audio API?
- 6. Jak odtwarzać plik audio za pomocą jQuery?
- 7. Jak mierzyć różnicę między dwoma dźwiękami za pomocą interfejsu Web Audio API?
- 8. Jak odtwarzać zawartość VEVO za pomocą interfejsu API iframe YouTube?
- 9. TemplateBeginRepeat w odwrotnej kolejności
- 10. Jak odtwarzać dźwięk w systemie Linux za pomocą C?
- 11. Jak mogę odtwarzać dźwięk w rozszerzeniu chrome
- 12. Web Audio API WaveShaperNode
- 13. Jak odtwarzać dźwięk w Qt5 (migracja Qt4)?
- 14. Umieszczanie tablicy obiektów za pomocą interfejsu API MVC Web API
- 15. Element HTML audio jak odtwarzać?
- 16. W Odoo 8 ORM api, jak uzyskać wyniki w odwrotnej kolejności za pomocą search()?
- 17. Jak skonfigurować Elmah za pomocą interfejsu ASP.NET Web API
- 18. os.walk() w odwrotnej kolejności?
- 19. Jak mogę odtwarzać dźwięk w WinForms?
- 20. Jak odtwarzać wideo za pomocą interfejsu API YouTube za pomocą YouTubePlayerFragment?
- 21. Jak odtwarzać dźwięk jak najszybciej?
- 22. Qt - jak nagrywać i odtwarzać dźwięk jednocześnie
- 23. Jak odtwarzać dźwięk z biblioteki w AS3?
- 24. iOS - Jak odczytać dźwięk ze strumienia i odtwarzać dźwięk
- 25. Web Audio Api: Jak dodać działający convolver?
- 26. Jak odtwarzać dźwięk w tle Swift?
- 27. Web Audio API: Jak odtwarzać źródło mono tylko w kanale lewym lub prawym?
- 28. Sortuj listę w odwrotnej kolejności
- 29. OGŁASZANIE JsonObject Za pomocą HttpClient z interfejsu Web API
- 30. odwrotnej kolejności zestaw elementów
To działa, dziękuję. szukałem czegoś bardziej przypominającego ustawienie parametru playbackRate na liczbę ujemną, dzięki czemu mogę odtwarzać coś do przodu i do tyłu z łatwością z tego samego punktu w klipie, ale ponieważ odpowiedziałeś na pytanie z poprawną (i działającą!) odpowiedzią, przyjmuję – lakenen
Tak, doszedłem do wniosku, że prawdopodobnie szukasz czegoś trochę mniej hacky, ale to było jedyne podejście, które mogłem wymyślić. Dla tego, co jest warte, prawdopodobnie nadal można zbudować kod wokół tego podejścia, które zrobi czego chcesz - ale tak naprawdę nie próbowałem cofać bufora w locie, więc nie mogę powiedzieć na pewno. Tak czy inaczej dobrze jest zobaczyć innych programistów grających w Web Audio API. Mam nadzieję, że przyzwoita dokumentacja zacznie pojawiać się w ciągu najbliższych kilku miesięcy. –