Проблема в Pjsua Python для PJMEDIA_EAUD_NODEFDEV - PullRequest
0 голосов
/ 28 апреля 2020

Я запускаю сценарий pjsua для подключения мультимедийного устройства при входящем вызове (по умолчанию это ноль), но при подключении мультимедийных устройств (слот вызова и слот аудиоустройства) происходит сбой кода, сообщающего, что он не может найти мультимедийное устройство.

Та же самая настройка была на другом сервере, но здесь та же самая установка терпит неудачу. Пакеты, такие как пакеты portaudio, alsa, libasound2-dev, уже были установлены до компиляции pjsua

Я использую установку на основе Ubuntu 18.04 и запускаю скрипт настройки с параметром - enable-shared .

Вот трассировка стека ошибки, которую я получаю при запуске Код Pjsua

os_core_ unix. c! Pjlib 2.9 для инициализированной POSIX

sip_endpoint. c. Создание экземпляра конечной точки ..

pjlib. select () Очередь ввода / вывода создана (0x2f511e0)

sip_endpoint. c .Модуль "mod-msg-print" зарегистрирован

sip_transport. c. Создан диспетчер транспорта.

pjsua_core. c .PJSUA изменено состояние: NULL -> CREATED

0 b'default '0 0

1 b'pulse' 0 0

2 b 'pulse_monitor' 0 0

(- 1, -2)

1 Нет подключенных вызовов

Необработанное исключение в потоке, запущенном

Traceback (большинство последний вызов последнего):

Файл "/usr/local/lib/python3.7/dist-packages/pjsua.py", строка 2901, в _cb_on_call_media_state

_lib._cb_on_call_media_state(call_id)

Файл «/usr/local/lib/python3.7/dist-packages/pjsua.py», строка 2801, в _cb_on_call_media_state

call._cb.on_media_state()

Файл «client_outbound_testing_copy.py», строка 411, в on_media_state

lib.conf_connect(call_slot,0)

Файл "/usr/local/lib/python3.7/dist-packages/pjsua.py", строка 2443, в файле conf_connect

self._err_check("conf_connect()", self, err)

/ "usr /local/lib/python3.7/dist-packages/pjsua.py ", строка 2722, в _err_check

raise Error(op_name, obj, err_code, err_msg)

pjsua.Error: Object: Lib, operation = conf_connect (), error = b'Не удается найти аудиоустройство по умолчанию

(PJMEDIA_EAUD_NODEFDEV) '

Названия, такие как по умолчанию pulse et c относится к устройствам, которые Pjsua может обнаружить, а кортеж (-1, -2) представляет текущее звуковое устройство и идентификатор воспроизведения устройства, как упомянуто здесь

Pjusa Получить звуковое устройство

Также я опробовал шаги, упомянутые в этих ответах PJSIP Stackoverflow вопрос Simillar Вопрос

У вас, ребята, есть Любая идея, что может быть причиной этой проблемы?

...