首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >预先计算的Web音频API时域和谱图可视化

预先计算的Web音频API时域和谱图可视化
EN

Stack Overflow用户
提问于 2014-06-26 16:34:53
回答 1查看 547关注 0票数 3

我是通过网络音频api合成声音使用各种振荡器/过滤器,并有时间域和谱图可视化,以实时运行的振荡器发挥(类似于这里这里)。

但是,我希望能够在音频网络运行一段时间之前创建一个初始的预先计算的可视化,这样用户就可以在播放之前查看网络的声音。这是可能的,还是有一种方法可以加快时间,以快速生成可视化?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-26 19:00:38

使用OfflineAudioContext,这将给您一个PCM缓冲区,异步地返回。计算窗口的RMS值(或者只使用时间域,取决于您想要做什么),并将其放在一个或其他地方。

OfflineAudioContext允许您以机器运行的速度运行一个图形,并且是AudioContext的替代,除了三个不能使用的节点(MediaStreamAudioDestinationNode、MediaStreamSourceNode和MediaElementAudioSourceNode),因为MediaStream是实时对象:当没有实时呈现时,它们是没有意义的。

事情是这样的:

代码语言:javascript
运行
复制
   var off = new OfflineAudioContext(2 /* stereo */,
                                     44100 /* length in frames */,
                                     44100 /* samplerate */);
   /* do your thing: setup your graph as usual */
   off.createOscillator(...);
   ...
   ...

   /* This is called when the graph has rendered one
    * second of audio, here: 44100 frames at 44100 frames per second */

   off.oncomplete = function(e) {
     e.renderedBuffer; /* is an AudioBuffer that contains the PCM data */
   };
   /* kick off the rendering */
   off.startRendering();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24435838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档