首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FMOD_CHANNEL_FREE未定义,不同版本的fmod?

FMOD_CHANNEL_FREE未定义,不同版本的fmod?
EN

Stack Overflow用户
提问于 2013-10-01 06:46:12
回答 2查看 3.6K关注 0票数 2

我正在尝试使用FMOD、visual studio 2012和c++在我的应用程序中添加声音。我得到了最新的版本(1.02)并安装了它。一切似乎都很好,但是(变量?)像FMOD_CHANNEL_FREE和FMOD_CHANNEL_REUSE都是未定义的。我采访过的每个人都有这个问题,但从来没有解决过这个问题,而且每个在线的人似乎都没有我注意到的issue.Another的事情,那就是playSound的参数已经改变了。对我来说:

代码语言:javascript
复制
 system->playSound(sound->second, FMOD_CHANNEL_FREE, false, 0);

其他任何地方

代码语言:javascript
复制
system->playSound( FMOD_CHANNEL_FREE, sound->second, false, 0);

我按照安装说明,包括fmod.hpp和fmod_errors.h,卸载,重新安装,谷歌失败了。如果有帮助,channel_free spot中需要的参数是一个FMOD::ChannelGroup

有什么想法吗?如果你需要更多的代码,发表评论(不是回答),我会照办的。

EN

回答 2

Stack Overflow用户

发布于 2013-10-07 19:01:26

随着从FMOD Ex到FMOD Studio的更改,一些API已经进行了修订,这就是这样一个案例。FMOD Ex版本的System::playSound的第一个参数已被删除,默认行为始终是FMOD_CHANNEL_FREE now。

新的第二个参数用于指定要在其中播放此频道的FMOD::ChannelGroup。您不需要设置此项,如果您想要在主通道组中播放声音的FMOD Ex行为,请指定NULL。

FMOD Studio的正确用法为:

代码语言:javascript
复制
FMOD::System *system = NULL; // create and init not shown
FMOD::Sound *sound = NULL; // create not shown

FMOD::Channel *channel = NULL;
FMOD_RESULT result = system->playSound(sound, NULL, false, &channel);
票数 4
EN

Stack Overflow用户

发布于 2013-10-04 13:28:19

它们没有被调换,你看过头文件了吗?第二个参数是指向通道组的指针,而您试图将一个整数传递给它?

无论如何,空闲/重用标志已经消失,只需删除它们即可。在内部,频道总是“免费”的。

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

https://stackoverflow.com/questions/19105190

复制
相关文章

相似问题

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