我正在使用一个C++应用程序,它使用SDL/SDL_Mixer来播放wav文件.我一直在Mac上开发应用程序没有太大问题.但是,我确实需要这个应用程序在Linux上工作,所以我把VirtualBox放在我的Windows 7机器上,使用Ubuntu 12.04 LTS.编译工作正常,直到我实际尝试初始化系统.然后,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);
}
Run Code Online (Sandbox Code Playgroud)
我得到的确切错误是:
initialize audio error: No available audio device
Run Code Online (Sandbox Code Playgroud)
P/S:我已经在网上广泛搜索了解决方案,我已经尝试检查库安装等.但是,由于我可能错过了某些内容,欢迎任何基本的库建议,我会确认我让他们成立.