2016-10-18 29 views
1

我拥有一个具有话筒(捕捉)功能的设备。我想将该设备的声音录制到wav文件中。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
  • 我想你不应该pjmedia_snd_port(麦克风)连接到两个wav文件和会议桥(直接)。
  • 如果要录制到文件并在会议桥中使用它,最好将音频设备连接到会议桥,然后创建一个rec端口(pjmedia_port)。将rec端口连接到会议桥,并使用pjmedia_conf_connect_port进行一些路由。
  • 您的调试消息显示,因为如果您要使用会议桥,您必须将它连接到具有以下功能的声音设备(pjmedia_snd_port_create或pjmedia_snd_port_create_player)。不要只将麦克风连接到会议桥。因为会议桥需要一些使用snd播放器工作的同步。
相关问题