c++ - alcOpenDevice : AL_INVALID_OPERATION 中的 OpenAL 软 40964

标签 c++ ubuntu cmake openal openal-soft

在 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/

相关文章:

c++ - 断点在适用于 Linux 的 Eclipse Luna 的 CDT 8.4.0 上不起作用

c++ - 在 OpenCV 中创建矩阵后调整其大小

linux - 使用 Amavis 配置第二个内容过滤器

c - Posix 线程在其他线程退出后挂起?

c++ - 如何将 QT 国际化集成到 CMake?

c++ - 关于 C++ 中的构造函数和赋值运算符

c++ - libconfig 不是静态链接。如何编译成程序

ubuntu 16.04.1 LTS 在启动 android 模拟器时崩溃

cmake - 调试 CMake find_library

c++ - 如何将编译选项添加到 CMake FetchContent 依赖项?