我正在我的Obj-C ++中进行函数调用,该函数返回C ++浮点向量:
vector<float> mixedFrames = song.getMixedFrames();
这些帧用于音频播放,CoreAudio希望它们在
Float32
数组中定义,该数组如下所示:Float32 *buffer = (Float32 *)ioData->mBuffers[channel].mData;
我的问题是将
mixedFrames
复制到buffer
的最快方法。我应该只遍历mixedFrames
并将每个值复制到buffer
还是有更快的方法占用更少的内存? 最佳答案
内存布局相同,因此可能根本不需要复制。您可以简单地使用mixedFrames.data( )
。
如果实际上由于某种原因需要复制,则可以简单地使用memcpy
或std::copy
。