我将使用React,Redux,TypeScript和Tonejs包构建一个简单的合成器应用程序,以包装Web音频API,并使用类似于真实合成器的GUI以及键盘,旋钮,滑块等。
我面临的问题是我不知道如何以单一的真实来源保持各种合成器参数。
我有我的Synth
类,它是对tonejs PolySynth
对象及其方法的包装。
我创建该类的一个实例,并使用其methoda触发组件中的注释。我的Synth
类还为我提供了设置合成器的不同声音参数的方法。例如,让我们以低通滤波器截止频率参数为例。我想将其值存储在redux存储中,同时使用将直接绑定到该值的UI组件(滑块或旋钮)进行控制,同时还要在{{1}的实际实例中更新该值}类。
我想到的唯一解决方案是直接在化简器中调用synth方法,但这似乎并不可行。是否可以通过某种方式订阅Synth
类主体中的redux存储,以便它像React组件一样自动更新其参数?