Ho sperimentato con il collegamento di un elemento audio all'audio audio web utilizzando createMediaElementSource e l'ho fatto funzionare ma una cosa che devo fare è cambiare la velocità di riproduzione dell'audio tag e non ho potuto farlo funzionare.Impostazione playbackRate su elemento audio collegato a web audio api
Se si tenta di eseguire il codice riportato di seguito, si noterà che funziona fino a quando non si annulla la riga in cui è stata impostata la velocità di riproduzione. Quando questa linea è nell'audio viene disattivata.
So che posso impostare la velocità di riproduzione su un AudioBufferSourceNode utilizzando source.playbackRate.value ma questo non è quello che mi piacerebbe fare, ho bisogno di impostare la velocità di riproduzione sull'elemento audio mentre è collegato al web audio api usando createMediaElementSource quindi non ho alcun AudioBufferSourceNode.
Qualcuno è riuscito a farlo?
var _source,
_audio,
_context,
_gainNode;
_context = new webkitAudioContext();
function play(url) {
if (_audio) {
_audio.pause();
}
_audio = new Audio(url);
//_audio.playbackRate = 0.6;
setTimeout(function() {
if (!_gainNode) {
_gainNode = _context.createGainNode();
_gainNode.gain.value = 0.1;
_gainNode.connect(_context.destination);
}
_source = _context.createMediaElementSource(_audio);
_source.connect(_gainNode);
_audio.play();
}, 0);
}
play("http://geo-samples.beatport.com/items/volumes/volume2/items/3000000/200000/40000/9000/400/60/3249465.LOFI.mp3");
setTimeout(function() {
_audio.pause();
}, 4000);
Strano, questo sembra funzionare per me in Chrome. http://jsfiddle.net/9gLKM/ - Chrome: versione 22.0.1229.94 m –