c++ - Mix_Init和Mix_OpenAudio SDL有什么区别?

标签 c++ audio sdl sdl-2 sdl-mixer

我看到了许多SDL_mixer的教程,但是都没有使用Mix_Init函数。我在文档页面上看到了此Mix_Init函数
https://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer.html
这些教程仅使用名为Mix_OpenAudio的函数来初始化SDL_mixer。
我的问题是,如果我调用函数Mix_OpenAudio,它将自动调用函数Mix_Init或无需调用函数Mix_Init。
是Mix_Init函数只是某些类型的检查器函数。

最佳答案

查看https://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_9.html上的文档:

Initialize by loading support as indicated by the flags, or at least return success if support is already loaded. You may call this multiple times, which will actually require you to call Mix_Quit just once to clean up. You may call this function with a 0 to retrieve whether support was built-in or not loaded yet.


如果您需要支持flac,mp3,ogg vorbis等压缩音频格式,则需要使用所需格式列表调用此函数。如果未在SDL_mixer中内置该代码,则将导致加载所需的代码以对该格式进行解压缩。如果仅使用WAV,则可以省略Mix_Init调用。

关于c++ - Mix_Init和Mix_OpenAudio SDL有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62871345/

相关文章:

cocoa - 如何检查 AudioQueue 中的当前时间和持续时间

c++ - 如何在运行 SDL 程序时降低 CPU 使用率?

c++ - VSCode IntelliSense无法识别SDL框架的SDL_image扩展库

c++ - 一个类可以有一个没有参数的模板化构造函数吗?

c++ - std::iostream 是非阻塞的吗?

c++ - Boost SerialPort 的意外结果

python - 是否有一些轻量级的 python 库可以用 poloyphony 播放音乐片段?

ios - 使用哪种声音格式? iOS通知

haskell - Haskell 生命游戏在启动时崩溃

C++ 无法将成对的指针初始化为 NULL