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

10-11 22:10