WebオーディオAPIを使用してオーディオを逆再生するにはどうすればよいですか?APIドキュメントに何も見つからないようです...
7253 次
4 に答える
17
あなたはこのようなことをすることができます:
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
は、AudioBufferの各チャネルのインスタンスを取得して、それらを逆にすることができるということです。
于 2012-06-11T00:11:59.357 に答える
6
AudioBufferSourceNode要素がある場合:
audioBufferSourceNode.playbackRate = -1;
-編集-
Webkitにはその機能はありません。
于 2012-03-26T15:29:19.983 に答える
4
<audio>
html5の要素を使用して、playbackRate
プロパティを負の値に設定できます。
Javascriptでは、次のことができます
var song = document.getElementsByTagName('audio')[0];
song.playbackRate = -1;
于 2012-03-26T14:46:03.773 に答える
1
playbackRate = -1.0;
Safari(9.1.2)で動作するようになりました!
于 2016-09-01T14:44:23.233 に答える