我在两个单独的类中有两个单独的AudioSampleBuffer对象。这是第一个类的私有部分,称为TransportBar.h:
private:
Atomic<int> playState;
Atomic<int> soloState;
Atomic<int> muteState;
unsigned int bufferPosition;
AudioSampleBuffer masterBuffer;
static const int bufferSize = 352800; //constant
这里是section类的私有部分,名为Looper.h:
private:
//Shared data
Atomic<int> recordState;
Atomic<int> playState;
//Audio data
static const int bufferSize = 352800; //constant
unsigned int bufferPosition;
AudioSampleBuffer audioSampleBuffer;
我正在创建的应用程序有4个轨道记录到audioSampleBuffer。然后我想要一个“主”播放按钮,播放所有这些数据。因此,我需要做的是将audioSampleBuffer中的数据复制到masterBuffer。有没有办法做到这一点?
答案 0 :(得分:2)
AudioSampleBuffer
只是typedef
的{{1}},其文档可以找到here。在那里你会看到AudioBuffer<float>
成员函数。此函数有几个重载,其中一个以copyFrom
作为源缓冲区。
要访问AudioBuffer<T>
以便您可以复制它,您必须执行以下操作之一:
值得问问自己这是否也是一个架构问题;是否可以通过更好的设计完全避免这个问题?