我正在尝试召开会议并在会议背景中播放声音文件。我怎样才能做到这一点?
这显然不起作用,因为声音文件将在进入会议之前播放。
exten => s,1,playback(some/soundfile)
same => n,confbridge(1)
提前致谢!
答案 0 :(得分:2)
想要在这里添加我的解决方案以防任何人需要它。
首先在extensions.conf中为conf桥创建一个上下文:
[conf-msg]
exten => s,1,ConfBridge(01)
其中01是桥号
然后通过命令行执行以下操作:
asterisk -x 'channel originate local/s@conf-msg application Playback file'
它真的很简单。
答案 1 :(得分:1)
您已使用调用文件创建新调用,简单方法。
http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out
在此之后,您已经将一条呼叫支路放在会议中
Channel: Local/1111@conference
Application: Playback
Data: some/soundfile
会议是到达会议室的背景。 没有必要做那样的间谍或某些东西,那是浪费时间/ cpu
答案 2 :(得分:0)
在此处查看类似问题: Asterisk- How to 'whisper' music using ChanSpy(), or any alternative?
基本上,你想添加一个指向本地频道的参与者(如上所述,只输入频道而不是间谍),播放你的声音,然后挂断。
答案 3 :(得分:0)
相同的答案,但对于许多 confBridge:
在extension.conf
中:
[autobridge]
exten => _X.,1,ConfBridge(${EXTEN})
然后,像tgwaste's answer一样,您可以使用originate
在 1234会议室中发起消息:
originate local/1234@autobridge application Playback en_US/tt-monkeys
通过控制台或管理器连接
或者按照arheops's answer的建议,通过在 outgoing spool dir
中添加文件:
printf "Channel: Local/%d@autobridge\nApplication: %s\nData: %s\n" \
1234 Playback sound/file >/var/spool/asterisk/outgoing/f-$RANDOM
来自文件系统级别的任何内容(具有正确的权限,可以共享!:-)。