我一直在互联网上搜索以获取此信息,但没有白费。

我正在使用C++中的Steinberg的VST SDK。我正在开发一个效果插件,我需要知道声音文件的长度,即其中的帧数。所以我从processReplacing函数知道块大小或(sampleFrames)。

void processReplacing (float **inputs, float **outputs, VstInt32 sampleFrames)

有谁知道如何获取整个声音文件中的帧总数?

我在这里先向您的帮助表示感谢,

最佳答案

我认为您对VST效果插件的实现方式有误解。

通常,将VST设置为用于实时音频处理,并使用与系统的处理延迟有关的sampleFrames值重复调用渲染函数,并且可能在256或更小范围内。

在实现processReplacing()时,您将处理结果写入outputs指向的缓冲区中,这些缓冲区由主机应用程序传递给您,并保证其中包含sampleFrames的空间。

关于audio - Steinberg的VST SDK Qs [获取帧数],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14161498/

10-10 06:58