多个音频上下文,用例是什么?

Multiple Audio Contexts, what's the use case?

我正在使用网络音频 API,主要组件之一是 AudioContext。这个对象到处都在传递,但实际上只有一个对象,所以我想我应该把它变成一个全局对象并完成它。

在我这样做之前——不过——我想知道:拥有多个的用例是什么?如果两个独立的代码库正在使用音频上下文并且一个中断,另一个保持不变,是否就是这样?公平地说,在一个项目中,几乎应该有一个?

"It's recommended to create one AudioContext and reuse it instead of initializing a new one each time, and it's OK to use a single AudioContext for several different audio source and pipeline concurrently."

https://developer.mozilla.org/en-US/docs/Web/API/AudioContext

以下是多个 AudioContext 的一些用例:

  • 项目分离
  • (取决于浏览器)沙盒“更容易崩溃”综合
  • 为了避免到处传递同一个(争论演练)

其中后两个最有趣(沙盒,无参数钻取)。如果您的项目不需要以任何特殊方式混合输出,那么这两个可能会有所帮助。