Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C-如何在使用pjsip时解决此错误?_C_Pjsip - Fatal编程技术网

C-如何在使用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

我在使用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.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>