Мы разрабатываем приложение для некоторых встроенных устройств, у которых пока нет аудиоустройств. На данный момент мы просто оцениваем, работает ли PJSIP на аппаратном обеспечении и может отправлять аудиоданные по сети.Можно ли использовать PJSIP (PJSUA2) без аудиоустройства?
С этой целью у нас есть клиент, которому необходимо прочитать аудиоданные из файла, отправить его через PJSIP на сервер, который затем записывает его в другой файл, поэтому мы можем просто сравнить два файла (в смысле что они звучат одинаково, не обязательно быть одним и тем же контентом). Таким образом, установка будет что-то вроде:
+--------+
(Audio file 1) --> |_Client_| +--------+
| PJSIP | --> |_PJSIP__|
+--------+ | Server | --> (Audio file 2)
+--------+
У нас есть приложения компиляции, но, когда я запустить клиентское приложение и попытаться установить соединение с сервером, он жалуется, не имея каких-либо аудио оборудования (отформатирован для удобства чтения):
02:14:47.636 call.cpp
pjsua_call_make_call(
acc.getId(),
&pj_dst_uri,
param.p_opt,
this,
param.p_msg_data,
&id)
error: Unable to find default audio device
(PJMEDIA_EAUD_NODEFDEV)
(status=420006)
[../src/pjsua2/call.cpp:485]
Я подозреваю, что сервер будет проявлять ту же самую проблему при принятии вызова, но пока у нас пока нет этого.
Теперь я знаю нет аудиооборудования (выход dmesg
ясно показывает, что список устройств ALSA пуст), но это не проблема для меня.
Мы следовали рекомендациям, как на суб-причислять Call
, но это было из другого кода, написанного ранее, код, который использует AudioMedia
и другие классы в библиотеках PJSIP, которые я подозреваю, автоматически поиск устройств.
Как заявлено, я хочу, чтобы иметь возможность отправлять через одну из серии аудиофайлов, считанных с диском, поэтому не важно, доступны ли аудиоустройства или нет.
Есть ли у PJSIP способ сделать это? Кто-нибудь знает или имеет какой-либо опыт в коде, который выполняет эту (по-видимому) простую задачу?
Некоторым людям также может быть полезно загружать фиктивный звуковой драйвер (если имеется). –