运行简单的OpenAL程序时出现以下错误:
有趣的是,如果我尝试播放音频,那么它会正确播放,尽管听起来有些失真。
下面是产生错误的代码。如果我使用ALUT初始化,也会发生这种情况。
#include <AL/al.h>
#include <AL/alc.h>
#include <string.h>
int main() {
ALCdevice* dev;
ALCcontext* ctx;
dev = alcOpenDevice(NULL);
ctx = alcCreateContext(dev, NULL);
alcMakeContextCurrent(ctx);
// cleanup
alcMakeContextCurrent(NULL);
alcDestroyContext(ctx);
alcCloseDevice(dev);
return 0;
}
错误是什么意思?我可以解决吗?
最佳答案
我通过将/etc/openal/alsoft.conf
(我正在使用Arch Linux)更改为以下内容来修复了该问题:
drivers=alsa,pulse
默认情况下会先检查Pulse,但我尚未安装。
安装Pulse也应该修复它。
关于c++ - 'AL lib: pulseaudio.c:612: Context did not connect: Access denied'是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9547396/