c++ - 当构造函数为私有(private)时,如何动态创建 FMOD::Sounds?

标签 c++ audio fmod

我想要一个声音的 C++ vector (或 NSMutableDictionary),这样用户就可以录制 N 个东西并回放它们。

但是,当我尝试创建 new FMOD::Sound我被告知它的构造函数是私有(private)的 - 在 Sound它指出的类定义:

Constructor made private so user cannot statically instance a Sound class. Appropriate Sound creation or retrieval function must be used.



那么如何动态创建一个新的声音对象呢?系统中有一个 createSound 方法,但它需要将现有的 Sound 对象引用传递给它:
FMOD_RESULT createSound (const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, Sound **sound);

最佳答案

感谢 πάντα ῥεῖ 对此的回答。你只需要创建一个 Sound 类型的空指针然后调用createSound(...)接着就,随即:

Sound* newSound = nullptr;
createSound (..., &newSound);

关于c++ - 当构造函数为私有(private)时,如何动态创建 FMOD::Sounds?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42483576/

相关文章:

c++ - cuBLAS 矩阵求逆比 MATLAB 慢得多

c++ - void* 在 C++ 中为线程数组

java - Clip.LOOP_CONTINUOUSLY 不起作用

Java声音API : Recording and monitoring same input source

linux - 安装 FMOD Ex for Linux 以在 g++ 中使用的说明在哪里或什么?

c++ - 如何在 C++ 中使用 FMOD?

c++ - 随机化字符数组以显示随 secret 码

C++ lambda 在模板的第二次扩展中没有捕获变量?

java - 使用java确定给定的已记录音频数据的byte []个频率

android - 通过 gradle 添加 fmod