pulseaudio - 音频记录应用程序 - 访问被拒绝错误

时间:2018-03-13 18:39:46

标签: audio-recording pulseaudio

我正在制作用于录制声音的pulseaudio,我遇到了“拒绝访问”错误。

首先,我在Ubuntu 16.04机器上工作。 我正在尝试使用以下部分代码连接到服务器:

    _s              = NULL;
    int32_t err    = -1;
    _ss.format      = PA_SAMPLE_S16LE;
    _ss.rate        = 44100;
    _ss.channels    = 2;

    _s = pa_simple_new(NULL, "Recorder", PA_STREAM_RECORD, NULL, "record", &_ss, NULL, NULL, &err);

pa_simple_new 不返回null,所以我认为,这部分没有错。

但是在代码的另一部分,我试图从服务器读取数据,如下所示:

            int32_t err = -1;
            int8_t buff[ ( CIRC_DATA_SIZE ) ] = { 0x00 };
            if ( pa_simple_read(_s, &buff, ( CIRC_DATA_SIZE ), &err ) > 0 )
            {
                _ReadBuff->add_to_buffer(buff, ( CIRC_DATA_SIZE ) );

            }else { DEBUG_MSG("Unable to read from audio device, %s\n", pa_strerror(err));  }

在应用程序的输出中,我看到以下声明: 无法从音频设备读取,拒绝访问

然后我像这样设置 PULSE_COOKIE 环境变量:

export PULSE_COOKIE=/home/sbahadirarslan/.config/pulse/cookie

顺便说一句,cookie文件确实存在于/home/sbahadirarslan/.config/pulse目录中。

在此安排之后,应用程序给我相同的错误日志。 然后我像这样设置 PULSE_SERVER 环境变量:

export PULSE_SERVER=unix:/run/user/1000/pulse/native

但是在这次改变之后,应用程序给了我同样的错误。 那么这些改变是错误的还是我必须做出其他改变?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试一下: systemctl --user enable pulseaudio&& systemctl --user start pulseaudio