C-如何在使用pjsip时解决此错误?
我在使用pjsip时遇到此错误。如何解决这个问题?我的系统中有麦克风/扬声器,但无法获取设备 错误:C-如何在使用pjsip时解决此错误?,c,pjsip,C,Pjsip,我在使用pjsip时遇到此错误。如何解决这个问题?我的系统中有麦克风/扬声器,但无法获取设备 错误: 14:13:41.786 pjsua_aud.c ..Error retrieving default audio device parameters: Unable to find default audio device (PJMEDIA_EAUD_NODEFDEV) [status=420006] Exception: Object: {Account <sip:192.1
14:13:41.786 pjsua_aud.c ..Error retrieving default audio device parameters: Unable to find default audio device (PJMEDIA_EAUD_NODEFDEV) [status=420006]
Exception: Object: {Account <sip:192.168.1.16:60791>}, operation=make_call(), error=Unable to find default audio device (PJMEDIA_EAUD_NODEFDEV)
您的问题与音响系统有关。大多数Linux系统都可以运行,就像您的系统一样(您可以在GStreamer的日志中看到这一点),但默认情况下pjsip为Linux启用PortAudio驱动程序 要修复此问题,您可以通过添加以下内容来启用可用的Alsa驱动程序:
#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0
#define PJMEDIA_AUDIO_DEV_HAS_ALSA 1
到pjlib/include/pj/config_site.h。如果它不存在,您可以像这样创建它:
#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0
#define PJMEDIA_AUDIO_DEV_HAS_ALSA 1
#include <pj/config_site_sample.h>
#定义PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0
#定义PJMEDIA_AUDIO_DEV_HAS_ALSA 1
#包括
和重建(您只能直接重建pjmedia:在pjmedia/build文件夹中运行make
)
注意:您可能需要通过编辑
pjmedia/build/os linux.mak
并将AC_pjmedia_SND
设置为不同的值(例如alsa)禁用当前配置的驱动程序,我是否应该将其替换为alsa值?e、 g:#定义所需的声音设备后端#有效值为:#-pa_unix:PortAudio on unix(OSS或ALSA)#-pa_darwinos:PortAudio on MacOSX(CoreAudio)#-pa_old_darwinos:PortAudio on MacOSX(old CoreAudio,for OSX 10.2)#-pa_win32:PortAudio on win32(WMME)#-ds:Win32 DirectSound(dsound.c)#-null:null声音设备(nullsound.c)AC_PJMEDIA_SND=pa_unix
赋值后查看此处:alsa我可以看到它现在使用alsa初始化:您是天才。非常感谢你,现在开始工作了。伟大的人伟大的,我完全迷路了,现在它解决了问题。谢谢。
#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0
#define PJMEDIA_AUDIO_DEV_HAS_ALSA 1
#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0
#define PJMEDIA_AUDIO_DEV_HAS_ALSA 1
#include <pj/config_site_sample.h>