1

运行简单的 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;
}

错误是什么意思?我可以修复它吗?

4

2 回答 2

3

I fixed it by changing /etc/openal/alsoft.conf (I'm using Arch Linux) to this:

drivers=alsa,pulse

The default checks Pulse first, which I didn't have installed.

Installing Pulse should fix it too.

于 2012-03-03T16:30:08.100 回答
1

如果仍然无法解决(对于 PulseAudio 的用户),请尝试

cp  /etc/machine-id /var/lib/dbus/machine-id
于 2014-07-30T23:38:26.583 回答