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

Другие вопросы по тегам