运行简单的OpenAL程序时出现以下错误:
AL lib:pulseaudio.c:612:上下文未连接:拒绝访问
有趣的是,如果我尝试播放音频,那么它会正常播放,尽管听起来有些失真。
以下是产生错误的代码。如果我用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;
}
错误是什么意思?我能解决吗?
答案 0 :(得分:3)
我通过将/etc/openal/alsoft.conf
(我正在使用Arch Linux)更改为:
drivers=alsa,pulse
默认情况下先检查脉冲,我没有安装。
安装Pulse也应该修复它。
答案 1 :(得分:1)
如果仍然没有#39;要修复它(对于PulseAudio的用户),请尝试
cp /etc/machine-id /var/lib/dbus/machine-id