我正在使用pjsua python包装器进行sip调用并播放wav文件。下面是尝试播放文件的代码:
# Notification when call's media state has changed.
def on_media_state(self):
global lib
if self.call.info().media_state == pj.MediaState.ACTIVE:
# Connect the call to sound device
call_slot = self.call.info().conf_slot
lib.conf_connect(call_slot, 0)
lib.conf_connect(0, call_slot)
print "Media is now active"
# stream wav file
# calculate wav time
wfile = wave.open("test.wav")
time = (1.0 * wfile.getnframes ()) / wfile.getframerate ()
print str(time) + "ms"
wfile.close()
# stream wav file
player_id = pj.Lib.instance().create_player("test.wav", loop=False)
print "Wav player id is: ", player_id
lib.conf_connect(lib.player_get_slot(player_id), call.info().conf_slot)
sleep(time)
lib.conf_disconnect(lib.player_get_slot(player_id), call.info().conf_slot)
lib.player_destroy(player_id)
else:
print "Media is inactive"
我在日志中看到的内容如下:
Media is now active
23.3436281179ms
08:08:55.455 pjsua_aud.c .....Creating file player: voice_tag_for_wolfgang.wav..
08:08:55.456 pjsua_aud.c ......Unable to open file for playback: Invalid argument [status=120022]
有没有人知道为什么它无法打开文件?
答案 0 :(得分:0)
显然这是由于错误的MediaConfig参数。