SDL2_Mixer:对于静态链接的音频库,Mix_Init是不必要的?

问题描述 投票:2回答:1

我正在使用SDL2(以及所有扩展库)开发一个程序。其中一个库当然是SDL_Mixer v2.0.2。

使用SDL_Mixer,所有示例和教程都使用Mix_Init函数(以及程序末尾的后续Mix_Quit)。根据我的理解,这会加载动态库,如ogg,mpg123等。但是,我已将所有库静态链接到可执行文件(SDL_Mixer和所有音频库)。

这是否意味着我不需要打电话给Mix_Init?我问这个,因为函数总是返回不正确的标志(这意味着它无法加载)。即使它失败了,或者我甚至没有打电话给它,我仍然可以播放.mp3.flac和所有其他音频格式。

因为没有它它似乎工作正常,我想完全没有调用函数。但与此同时,我想确定我正在做的是它应该如何处理,并且没有一些实际的无法错误导致内存泄漏或其他什么。

sdl-2 sdl-mixer
1个回答
0
投票

这是否意味着我不需要调用Mix_Init?

我不会这样做,而是继续打电话给Mix_Init

其中一个库当然是SDL_Mixer v2.0.2。 [...]我问这个,因为函数总是返回不正确的标志(这意味着它无法加载)

不幸的是,这是SDL Mixer v2.0.2的known bug,我之前遇到了很多麻烦。 错误很明显,这是另一种说法,Mix_Init返回错误的标志:

Mix_Init始终返回0 - 未找到支持的音乐界面

事实上,这并不意味着它没有加载某些东西而你自己也注意到了它:

即使它失败了,或者我甚至没有打电话给它,我仍然可以播放.mp3,.flac和所有其他音频格式。

© www.soinside.com 2019 - 2024. All rights reserved.