任务是基于标准的网络音频 api 实现一个录音机。仔细研究了两种方式ScriptProcessorNode.onaudioprocess和AudioWorkletProcessor.process并没有做出最终决定。官方称 onaudioprocess 自 2014 年以来已被弃用,完全替代的是音频工作者。我是 javascript 新手,也许这个问题听起来很愚蠢,但为什么到今天还积极使用 onaudioprocess 呢?
让我们深入了解细节。AudioWorkletProcessor api 可供 73% 的用户使用,而onaudioprocess api 可供 93% 的用户使用。在接下来的 2 年中,我们可以希望增长 10%。(野生动物园用户)。有许多使用 onaudioprocess 的项目、文章、解决方案。甚至特定任务也可以简单地通过使用 onaudioprocess 来解决。AudioWorklet 不可能有这样的解决方案。AudioWorklet 文档很差,互联网上很少提及。例如,我仍然不明白为什么 WebWorker 知道 blob 是什么,而 AudioWorklet 却不知道(devTools exception: Uncaught ReferenceError: Blob is not defined)。在打字稿中,基本功能的声明类型有很长的开放案例. 这一切都给人一种onaudioprocess比AudioWorklet更活泼的印象。也许 AudioWorklet 更高效但难以实现,或者 javascript 社区不需要网络音频 api?解释一下我为什么要按照官方推荐选择AudioWorklet?