+
95
-

js如何实现声音音频倒放?

js如何实现声音音频倒放?

网友回复

+
15
-

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;
    });
});

通过decodeAudioData获得声道数据并倒序一下即可

完整可在线运行示例代码:

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum=1.0,minimum=1.0,user-scalable=0" />

</head>

<body>
    <div>
        <aBfwOnclick="play()">原版播放</a>

        <aBfwOnclick="playreverse()">倒序播放</a>
    </div>

    <scri...

点击查看剩余70%

我知道答案,我要回答