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 ответ
Попробуйте это: systemctl --user enable pulseaudio && systemctl --user start pulseaudio