PJSIP通过会议桥将语音从仅麦克风设备录制到wav文件

时间:2016-10-18 13:53:27

标签: audio pjsip

我的设备只具有麦克风(捕捉)功能。我想将该设备的声音录制到wav文件中。

当我执行以下步骤时

wav = pjmedia_wav_writer_port_create
snd_port = pjmedia_snd_port_create_rec (NOTE: PJMEDIA_DIR_CAPTURE only)
pjmedia_snd_port_connect(snd_port , wav)

语音被录制到wav文件中

但是当我做的时候

wav = pjmedia_wav_writer_port_create
snd_port = pjmedia_snd_port_create_rec (NOTE: PJMEDIA_DIR_CAPTURE only)
conf = pjmedia_conf_create
pjmedia_snd_port_connect(snd_port , conf)
pjmedia_conf_add_port(conf, wav)

语音未被重新编码为wav文件

我从pjmedia

获得以下调试消息
sound:0     pjsip      80 samples reduced, buf_cnt=161
sound:0     pjsip      80 samples reduced, buf_cnt=161
sound:0     pjsip      80 samples reduced, buf_cnt=161
sound:0     pjsip      80 samples reduced, buf_cnt=161
sound:0     pjsip      80 samples reduced, buf_cnt=161
sound:0     pjsip      80 samples reduced, buf_cnt=161

1 个答案:

答案 0 :(得分:1)

  • 我认为你不应该将pjmedia_snd_port(麦克风)连接到wav文件和会议桥(直接)。
  • 如果要录制到文件并在会议桥中使用它,最好将声音设备连接到会议桥,然后创建录制端口(pjmedia_port)。将rec端口连接到会议桥,并使用pjmedia_conf_connect_port进行一些路由。
  • 您的调试消息显示是因为,如果您要使用会议桥,则必须将其连接到具有以下功能的声音设备(pjmedia_snd_port_create或pjmedia_snd_port_create_player)。不要只将麦克风连接到会议桥。因为会议桥需要一些使用snd播放器工作的同步。