我正在开发一个使用SDL/SDL_Mixer播放wav文件的C++应用程序。在Mac上开发这个应用程序时没有遇到太多问题。但是,我需要让这个应用程序在Linux上运行,因此我在我的Windows 7机器上安装了带有Ubuntu 12.04 LTS的VirtualBox。编译正常,但当我尝试初始化系统时,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);
}
The exact error I get is:
initialize audio error: No available audio device
附言:我已经在网上广泛搜索了解决方案,并尝试检查库的安装等。然而,由于有可能我漏掉了一些东西,所以任何基本的库建议都是受欢迎的,我会确认它们已经设置好。