Web音频API:调度声音并导出混音

Web音频API:调度声音并导出混音,第1张

概述我一直在检查Web Audio API文档和教程,但还没有安静地想出如何解决这个问题. 假设我通过XMLHttpRequest加载了几个wav文件,然后创建了buffersources.我知道我可以安排精确播放的时间.但是,如果我不想播放它们,而是想要将它们存储在缓冲区中,那该怎么办? 一个真实的例子:我想创建一个简单的音序器,你可以在其中安排鼓,然后将整个混音导出到wav(不使用Recorder 我一直在检查Web Audio api文档和教程,但还没有安静地想出如何解决这个问题.

假设我通过XMLhttpRequest加载了几个wav文件,然后创建了buffersources.我知道我可以安排精确播放的时间.但是,如果我不想播放它们,而是想要将它们存储在缓冲区中,那该怎么办?

一个真实的例子:我想创建一个简单的音序器,你可以在其中安排鼓,然后将整个混音导出到wav(不使用RecorderJs或其他东西录制).任何想法,图书馆?

解决方法 刚刚做了一件像这样的事情.

基本上,您需要创建一个离线上下文:

var offline = new webkitOfflineAudioContext(numChannels,lengthInSamples,sampleRate)

您必须使用以下新上下文重新创建所有BufferSource:

var newBufferSource = offline.createBufferSource();newBufferSource.buffer = someAudioBuffer;newBufferSource.connect(offline.destination);

然后安排播放:

newBufferSource.start(offline.currentTime + 10);

然后绑定到完成事件以进行离线渲染:

offline.onComplete = function( ev ){  doSomething(ev.renderedBuffer);}

然后开始’渲染’:

offline.startRendering();

一旦你有ev.renderedBuffer,你就可以随心所欲地做任何事情.在我的应用程序中,我有一个WAV编码器,我最终写了自己 – 但你可以修改Recorder.Js很容易做同样的事情.

只是单挑:webkitOfflineAudioContext目前仅限Chrome.如果您有兴趣,请点击这里链接:OfflineAudioContext

总结

以上是内存溢出为你收集整理的Web音频API:调度声音并导出混音全部内容,希望文章能够帮你解决Web音频API:调度声音并导出混音所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1108765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存