首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >斯坦伯格的VST SDK Qs [获取帧数]

斯坦伯格的VST SDK Qs [获取帧数]
EN

Stack Overflow用户
提问于 2013-01-05 01:04:09
回答 2查看 340关注 0票数 2

我已经在互联网上到处寻找了,但没有徒劳。

我在C++中使用Steinberg的VST。我正在开发一个效果插件,我需要知道声音文件的长度,这意味着它的帧数。因此,我从processReplacing函数中知道了块大小或(sampleFrames)。

代码语言:javascript
复制
void processReplacing (float **inputs, float **outputs, VstInt32 sampleFrames)

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

提前感谢你的帮助,

EN

回答 2

Stack Overflow用户

发布于 2013-01-05 01:18:27

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

通常,VST被设置用于实时音频处理,利用与系统的处理等待时间相关的值sampleFrames来重复调用渲染函数,并且可能潜在地在256或更小的区域内。

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

票数 6
EN

Stack Overflow用户

发布于 2013-01-05 01:18:11

我认为这在某种效果上是不可能的。你有没有想过做一个合成器而不是一个特效?所以你可以提供你自己的样品.."processReplacing“只从主机应用程序获取样本,这可能是所有的东西(现场无休止的音乐,样本等)。也许你必须重新考虑你的插件设计。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14161498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档