<分区>
我正尝试使用 SDL 1.2 完成一个学校项目,但我遇到了一个无法解决的问题。
游戏有几个游戏状态模块,每个模块都有一个功能 int Run(SDL_Surface *screen);
在每个模块中,Run() 初始化音频,运行其循环,然后在返回前关闭音频。
所有模块都使用 Mix_OpenAudio() 和 Mix_CloseAudio() 来初始化/取消初始化声音,并且可以很好地协同工作。
唯一的异常(exception)是我使用 SDL_FFMpeg 放映电影的电影电影模块。这个模块迫使我改用 SDL_OpenAudio()。
SDL_OpenAudio 第一次失败并出现错误“音频设备已打开”,但第二次成功。
一旦我运行了电影模块,其他模块中的所有声音都停止工作,即使它们的所有函数都返回 0 表示成功。
有人知道发生了什么事吗?