[英]How can I play audio in reverse with web audio API?
你可以这样做:
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;
});
});
这是一个非常简单的例子 - 但基本上你可以为Float32Array
中的每个通道获取Float32Array
实例并反转它们。
如果你有一个AudioBufferSourceNode元素:
audioBufferSourceNode.playbackRate = -1;
-编辑-
Webkit没有该功能。
您可以使用html5的<audio>
元素并将playbackRate
属性设置为负值。
在Javascript中,您可以执行以下操作
var song = document.getElementsByTagName('audio')[0];
song.playbackRate = -1;
playbackRate = -1.0;
现在可以在Safari(9.1.2)中使用!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.