当我尝试从PJSIP建立一个新的呼叫我得到这个错误:
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.0.2:54496>}, operation=make_call(), error=Unable to find default audio device (PJMEDIA_EAUD_NODEFDEV)
我安装libasound2-dev
: sudo apt-get install libasound2-dev
,并重新编译PJSIP,但尽管如此,它给了我同样的结果..我在这里失去了一些东西?
注:我使用Ubuntu 11.10和声音工作正常,没有任何问题,所以请不要告诉我,我有声卡问题
更新
我配置和编译这样的PJSIP:
$的./configure
$ &&做make install的
而像这样:
$的./configure --enable-共享 - 禁用静态--enable-包括memalign - 黑客
$ &&做make install的
而且也很喜欢这一点:
$的./configure
$使DEP &&使清洁&&使
和所有的方式给了我同样的结果。
更新2
我确信,所有的下面都安装了,还是问题仍然存在:
sudo apt-get install portaudio19-dev libportaudio2 pulseaudio alsa-utils liboss4-salsa-dev alsa-base alsa-tools libasound2-plugins libasound2 libasound2-dev binutils binutils-dev libasound-dev pulseaudio-dev
更新3
我跑它像下面,和它的工作:
pjproject-2.1.0/pjsip-apps/bin/pjsua-i686-pc-linux-gnu --capture-dev=-1 --playback-dev=-1
它可以呼叫对方。 但是,当我从一个Python脚本运行它,它给了我一个错误,甚至当我设置的声音设备是这样的:
lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
snd_dev = lib.get_snd_dev()
print snd_dev ## returns (-1,-2)
lib.set_snd_dev(0,0)
错误的是:
12:39:55.753 os_core_unix.c pjlib 2.1 POSIX初始化12:39:55.754 sip_endpoint.c .Creating端点实例... 12:39:55.754 pjlib。选择()I / O队列创建(0x93f1a80)12:39 :55.754 sip_endpoint.c .Module “MOD-MSG-打印” 注册12:39:55.754 sip_transport。 .Transport管理器创建。 12:39:55.754 pjsua_core.c .PJSUA状态改变:NULL - > CREATED 12:39:55.769
pjsua_core.c .pjsua 2.1版本为Linux-3.0.0.17 / i686的/ glibc的-2.13初始化(-1,-2)12:39:55.770 pjsua_aud.c .Error检索默认音频设备参数:无效音频设备(PJMEDIA_EAUD_INVDEV)状态= 420004]异常:对象:库,操作= set_current_sound_devices(),误差=无效音频设备(PJMEDIA_EAUD_INVDEV)
但是,很奇怪的工作,当我更换了lib.set_snd_dev(0,0)
这条线lib.set_null_snd_dev()
当然,声音是不工作,因为我设置声音设备为空!