2

我在播放 mp3 或 wav 文件时遇到困难,删除星号中的 remore url。

我已经尝试过 Mp3player,它可以正常播放,但无法接受输入。

请有人告诉我播放远程文件和接受用户输入的任何替代方法。

4

1 回答 1

1

我想你读过一些关于星号拨号方案的书。

您需要将文件(例如 test.mp3)放入 /var/lib/asterisk/sounds/

之后你可以做这样的事情

exten => _X.,1,Read(temp,test,,,5)
exten => _X.,2,Set(CDR(userfield)=${temp})

现在您将拥有变量 temp 和 cdr 数据库用户输出。

如果您需要播放 REMOTE 文件,请先下载该文件。你可以使用这样的东西来做到这一点:

exten => _X.,1,Set(/var/lib/asterisk/sounds/temp/${CDR(uniqueid)}.mp3)
exten => _X.,2,System(wget http://myurl/myfile.mp3 -o /dev/null -O $file)
exten => _X.,n,Read(temp,${CDR(uniqueid)},,,5)
exten => _X.,n,Set(CDR(userfield)=${temp})

当然,您已经删除了旧文件,并且还对预缓存/部分文件下载等做了一些事情。

其他选项是将用户放入会议,强制会议收集输入并使用 mp3player/streamer 播放到会议中。

对此没有简单的解决方案,您必须编写大量代码或聘请专家。

作为优秀的选择,您可以使用 c/c++ 创建自己的应用程序来为您的场景工作。

于 2012-12-23T05:37:20.013 回答