web audio API ile ters olarak nasıl ses çalarım? API belgelerinde hiçbir şey bulamıyorum ...Web ses API'sı ile nasıl tersine ses çalarım?
cevap
Böyle bir şey yapabileceğini:
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;
});
});
Süper bir basit bir örnek - ama nokta AudioBuffer her kanal için Float32Array
örneğini kapmak ki temelde ve onları tersine çevir.
<audio>
öğesini html5 öğesini kullanabilir ve playbackRate
özelliğini negatif değere ayarlayabilirsiniz. Bir AudioBufferSourceNode elemanı varsa
JavaScript için aşağıda belirtilen
var song = document.getElementsByTagName('audio')[0];
song.playbackRate = -1;
Ses etiketi gereksinimlerim yerine getirmiyor, bu yüzden özellikle web ses API'sini kullanmam gerekiyor. – lakenen
Oynatma oranı 0,5 ile 4,0 arasında olmalıdır. Olumsuz değerler henüz çalışmıyor. [MDN kaynağı] (https://developer.mozilla.org/en-US/Apps/Fundamentals/Audio_and_video_delivery/WebAudio_playbackRate_explained) – nicusor
yapabilirsiniz:
audioBufferSourceNode.playbackRate = -1;
-EDIT-
Webkit bu özelliği yoktur.
Bunu denedim ve işe yaramıyor. PlaybackRate AudioParam üzerindeki minValue değeri 0'dır. Onu 0'dan daha düşük bir değere ayarladığımda, defaultValue'de (1 olan) oynatılır. – lakenen
Okey ... bu gerçek bir hata var :( https://bugs.webkit.org/show_bug.cgi?id=69725 – Nullpo
Bu gerçekten işe yararsa harika olurdu! – lakenen
playbackRate = -1.0;
, Safari (9.1.2) sürümünde çalışıyor!
- 1. WinForms'da nasıl ses çalarım?
- 2. Kayıt Ses Web Sayfası
- 3. Web Sesinde Ses Düğümlerinin Temizlenmesi
- 4. HTML5 ile ses çalma
- 5. HTML5 ses etiketiyle çalınan ses nasıl durdurulur
- 6. Düğüm j'leri ve Web Ses API'sı kullanılarak Node-webkit'teki ses
- 7. OpenAL ile Ses Kaydetme
- 8. iPhone'da ses frekansı/ses tonu nasıl belirlenir?
- 9. Nasıl ses konuşuyor app ses gibi konuşuyor
- 10. JavaFX ile ses çalma
- 11. HTML5 ile ses yakalama
- 12. SoundPool ile ses çalma
- 13. Javascript'te ses nasıl kaydedilir?
- 14. iki ses dosyasını karşılaştırır. ses eşleşmesi
- 15. Bir ses dosyasındaki ses ısırması örneklerini bulma
- 16. OS X çekirdek ses çalma/çıkışı ile ses çıkışları yaşanıyor
- 17. Ses kapatılamadığında nasıl algılanır?
- 18. Ses ve gürültü içinde ses webRTC android
- 19. Ses Kuyruğu Servisleri kullanılarak kaydedilen ses verileri
- 20. ses benim oyuna ses eklemeyi deneyin PhoneGap
- 21. Sescloud'dan web ses kaynağı kaynak düğümü kurun
- 22. Arka plandaki ses kosalibspotify ile
- 23. Ses kontrolü?
- 24. Kaynaktan ses nasıl çalınır
- 25. Ses elemanı nasıl alınır?
- 26. Bildirime nasıl ses eklenir?
- 27. Çevrimdışı ses tanıma android istenmeyen ses alarak
- 28. Python ile ses dosyası çalma
- 29. AVPlayer ile Ses Ölçüm seviyeleri
- 30. Swift çıkışını ses ile kaydetme
Bu işe yarıyor, teşekkürler. aslında playbackRate'i negatif bir sayıya ayarlamak gibi bir şey arıyordu, böylece klipte aynı noktadan ileri ve geri bir şeyler kolayca oynatabiliyorum, ama siz soruya geçerli bir (ve çalışma!) yanıtı ile cevap verdiğinizden, kabul edeceğim – lakenen
Evet, muhtemelen biraz daha az hacky için bir şey aradığınızı düşünmüştüm, ama bu benim gelebildiğim tek yaklaşımdı. Bunun değeri ne olursa olsun, muhtemelen bu yaklaşımın etrafında bazı kodlar oluşturmak mümkündür. ne istersen - ama aslında arabayı geçici olarak tersine çevirmeyi denemedim, o yüzden kesin olarak söyleyemem. Her iki durumda da, Web Audio ile oynayan diğer devleri görmek güzel API. Umarım bazı iyi belgeler önümüzdeki birkaç ay içinde ortaya çıkmaya başlayacaktır. –