我正在使用PHP-AGI进行星号呼叫记录。它在类AGI_SteriskManager中提供了一个方法Monitor。现在,我不想分别进行输入和输出记录,我只想要一个包含完整调用记录的文件。我使用了以下代码:
...
$agiAsteriskManager = new AGI_AsteriskManager();
$agiAsteriskManager->Monitor($mychannel,$myfile, "wav", true);
...
文档中提到的最后一个参数是$mix,我想它要么用于创建单个文件($mix=false),要么用于创建两个单独的文件($mix=true)[source]。
我已经尝试了两种$mix选项,但在任何一种情况下都会创建两个文件。有人能帮我弄清楚吗?我哪里出了问题,因为我找不到相关的详细文件?
这很正常。
它确实创建了两个文件,然后转换为一个
依赖项:sox包。
$agiAsteriskManager->Monitor($mychannel,$myfile, "wav", true);
这将把通话记录保存到一个单独的文件1.wav
$agiAsteriskManager->Monitor($mychannel,$myfile, "wav", false);
上述语句将把通话记录保存到2个文件中。它将分别保存输入和输出。
"arheops"在之前的评论中正确地提到,如果您想将录音保存到单个文件中,则需要SOX。在PBX服务器上安装SOX将解决此问题。
最初,星号会在呼叫监控打开且呼叫正在进行时创建单独的输入和输出文件。一旦呼叫监控停止,两个录音将在SOX的帮助下自动合并。