我正在开发一个使用 SDL/SDL_Mixer 播放 wav 文件的 C++ 应用程序。我一直在 Mac 上开发应用程序,没有太多问题。但是,我确实需要此应用程序才能在 Linux 上运行,因此我将 VirtualBox 放在装有 Ubuntu 12.04 LTS 的 Windows 7 机器上。编译工作正常,直到我真正尝试初始化系统。然后,SDL_Mixer 给出错误“没有可用的音频设备”。
这是引发错误的代码:
using namespace std;
void simple_sound_init() {
if (SDL_Init(SDL_INIT_AUDIO) == -1) {
fprintf(stderr, "init SDL error: %s\n", SDL_GetError());
SDL_Quit();
exit(1);
}
if (Mix_OpenAudio(SOUNDSAMPLERATE, MIX_DEFAULT_FORMAT, 1, 1024) != 0) {
fprintf(stderr, "initialize audio error: %s\n", Mix_GetError());
Mix_CloseAudio();
SDL_Quit();
exit(1);
}
Mix_ChannelFinished(simple_sound_channel_finised);
}
我得到的确切错误是:
initialize audio error: No available audio device
P/S:我在网上广泛搜索了解决方案,并尝试检查库安装等。但是,由于我可能遗漏了什么,欢迎任何基本的库建议,我会确认我设置它们。