问题描述
我正在使用Raspberry Pi 3和PJSIP库创建VoIP应用程序,执行通话时无法播放录制的wav声音。 (例如,我的录音可能是“通话已启动”或“通话已结束”)。我需要同时听到远程端点。
目前,我可以正确地听到来自远程端点传到Raspberry Speaker的声音。
我还使用Alsa aplay命令成功播放了多个.wav文件。为此,我遵循了alsa documentation
中混合软件的文档阻塞点是在听远程扬声器的声音的同时播放录音。当我在一次通话中使用aplay手动播放wav声音时,它表明我的设备正忙:
pi@raspberrypi:~/Laboratory $ aplay test.wav
ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
aplay: main:828: error opening audio: Device or resource busy
这是我的〜/ .asoundrc文件,用于使用alsa软件混合:
pcm.!default {
type plug
slave.pcm "dmixer"
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
}
bindings {
0 0
1 1
}
}
ctl.dmixer {
type hw
card 0
}
我对以下几点进行了调查:
- 我想知道我的PJSIP应用程序是否正确使用了我的alsa“ dmixer”插件。如果没有,如何强制使用此插件?
- 我不确定asoundrc文件中定义的44100 Hz采样率。它会与通话采样率冲突吗?
- 我也不喜欢“ period time”,“ period_size”,“ buffer_size”这样的主题。它们可能是错误的值吗?
- 我的wav文件是否与Pjsip库不兼容? (只是个主意)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)