Wie kann ich mit der web audio API Audio rückwärts abspielen? Ich kann nichts in der API-Dokumentation finden ...Wie kann ich Audio rückwärts mit Web Audio API abspielen?
Antwort
Sie so etwas tun könnte:
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 ist ein super einfaches Beispiel - aber der Punkt ist im Grunde, dass Sie die Float32Array
Instanz für jeden Kanal in der Audiobuffer greifen und umkehren sie.
Sie können <audio>
Element von html5 verwenden und playbackRate
Eigenschaft auf negativen Wert festlegen.
In Javascript können Sie die folgenden Aktionen
var song = document.getElementsByTagName('audio')[0];
song.playbackRate = -1;
Das Audio-Tag erfüllt nicht meine Anforderungen, weshalb ich die Web-Audio-API speziell verwenden muss. – lakenen
Die Wiedergaberate sollte zwischen 0,5 und 4,0 liegen. Negative Werte funktionieren noch nicht. [MDN-Quelle] (https://developer.mozilla.org/en-US/Apps/Fundamentals/Audio_and_video_delivery/WebAudio_playbackRate_explained) – nicusor
, wenn Sie ein AudioBufferSourceNode Element haben:
audioBufferSourceNode.playbackRate = -1;
-EDIT-
Webkit nicht über diese Funktion.
Ich habe das versucht und es funktioniert nicht. Der minValue-Wert von playbackRate AudioParam ist 0. Wenn ich ihn auf einen Wert unter 0 setze, scheint er mit dem Standardwert (was 1 ist) wiedergegeben zu werden. – lakenen
Okey ... es ist ein echter Bug es webkit :( https://bugs.webkit.org/show_bug.cgi?id=69725 – Nullpo
Es wäre toll, wenn das tatsächlich funktioniert! – lakenen
playbackRate = -1.0;
funktioniert in Safari (9.1.2) jetzt!
- 1. Abspielen von Audio rückwärts mit HTMLMediaElement
- 2. Mehrere Audio-Player und die Web-Audio-API
- 3. Chord-Erkennungsalgorithmus mit dem Web Audio API
- 4. Audio abspielen im Hintergrund Ausgabe
- 5. Wie kann ich Streaming-Audio über Ethernet in Qt abspielen?
- 6. Audio aufnehmen und gleichzeitig abspielen
- 7. Web Audio API - Aufnahme in MP3?
- 8. Frequenz Musiknote in Web Audio API
- 9. Konvertieren der Abtastrate in Web Audio API
- 10. Abspielen sicherer Audiostreams mit HTML5 Audio
- 11. Ressourcen zum Lernen Web-Audio-API
- 12. Audio in Node-webkit mit Knoten js und Web Audio API
- 13. benutzerdefinierte Wellenformen in Web Audio API
- 14. Shoutcast + Web Audio API CORS Ausgabe
- 15. Web Audio API: Wie füge ich einen funktionierenden Convolver hinzu?
- 16. Audio abspielen mit AVAudioSessionCategoryAmbient wenn Gerät gesperrt
- 17. Web-Audio-API Störungen/Verzerrungen Probleme
- 18. Sounds von AudioContext aufzeichnen (Web Audio API)
- 19. Wie verschieben/modulieren Audiopuffer Frequenz mit dem Web Audio API
- 20. Audio API setValueCurveAtTime() Firefox
- 21. Web Audio: Wie kann ich ein mobiles Mikrofon erhalten, um Audio aus der Entfernung aufzunehmen?
- 22. Web Audio OfflineAudioContext Syntaxfehler, wenn ich folge den API
- 23. Abspielen von Audio in einem div
- 24. binaryjs - nodejs mp3 audio stream und abspielen
- 25. Wie lade ich Audio vollständig vor dem Abspielen?
- 26. Erstellen eines benutzerdefinierten Echoknoten mit Web-Audio
- 27. Empfangen von Audio-Byte-Arrays mit der HTML5-Audio-API?
- 28. PCM Web Audio API Javascript - Ich bekomme verzerrte Sounds
- 29. Abspielen von Audio-Sounds in Cordova Anwendung
- 30. Android Video (VideoView) kein Audio beim Abspielen
Das funktioniert, danke war eigentlich auf der Suche nach etwas mehr wie Einstellung von PlaybackRate auf eine negative Zahl, so dass ich etwas vorwärts und rückwärts leicht vom gleichen Punkt in dem Clip spielen kann, aber da Sie die Frage mit einer gültigen Antwort beantwortet (und arbeiten!), werde ich akzeptieren – lakenen
Ja, ich dachte, du suchst wahrscheinlich etwas weniger Hackiges, aber das war der einzige Ansatz, den ich mir vorstellen konnte.Was es wert ist, ist es wahrscheinlich immer noch möglich, etwas Code für diesen Ansatz zu entwickeln was du willst - aber ich habe nicht wirklich versucht, den Puffer im laufenden Betrieb umzukehren, also kann ich nicht mit Sicherheit sagen, wie auch immer, es ist gut, andere Entwickler zu sehen, die mit dem Web Audio spielen API. Hoffentlich werden einige anständige Dokumente in den nächsten Monaten auftauchen. –