在 Ubuntu Virtualbox 上运行从 Windows 移植的音频应用程序时,它报告以下内容:
Devices found:
OpenAL Soft
OpenAL Soft 40964 in alcOpenDevice: AL_INVALID_OPERATION
它运行的行:ALCdevice device = alcOpenDevice( NULL ); // Also tried "OpenAL Soft"
Ubuntu 音频工作正常。我错过了什么?CMakeLists:
target_link_libraries( ${PROJECT_NAME}
"myengine"
"openal"
)
我安装了libopenal1
在目标虚拟机上
最佳答案
显然,alGetError()
将在创建上下文之前返回此错误。从 alcMakeContextCurrent()
开始我可以使用这个函数来检查错误。
它现在播放音频!
所以对于 alcOpenDevice()
和 alcCreateContext()
我不得不注释掉 alGetError()
错误检查。虽然我仍然可以使用 if( !device )
检查设备是否已成功打开
关于c++ - alcOpenDevice : AL_INVALID_OPERATION 中的 OpenAL 软 40964,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71066647/