【发布时间】:2018-08-22 03:31:01
【问题描述】:
我正在使用 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
但在此更改之后,应用程序给了我同样的错误。 那么这些更改是错误的还是我必须进行其他更改?
感谢您的帮助。
【问题讨论】:
标签: audio-recording pulseaudio