PHP - Twilio录制持续时间值问题

问题描述:

因此,我创建了一个应用程序,允许用户通过Twilio录制信息,并试图存储RecordingSID,创建日期以及录制时间MySQLi数据库在录制完成后立即生效。我设法通过使用substr()函数从RecordingURL中取出最后34位数字来获得RecordingSID,并且简单地获取当前日期是否为我的数据库表中的日期创建字段。但是,看起来不管实际记录的时间长短如何,在尝试获取记录时间时,我会不断得到8的值。下面是我有现在(省略,因为他们的工作数据库插入):PHP - Twilio录制持续时间值问题

<?php 
    $recordingURL = $_REQUEST['RecordingUrl']; 
    $recordingSID = substr($recordingURL, -34); 

    date_default_timezone_set('EST'); 
    $dateCreated = date("Y-m-d"); 

    $duration = $_REQUEST['RecordingDuration']; 
?> 

这件事的任何帮助将是非常美妙!谢谢!

编辑:我也试着到位的最后一行的下面的解决方案在我前面的代码片段:

<?php 
    $recordings = $client->account->recordings->getIterator(0, 50, array('Sid' => $recordingSID,)); 
    foreach ($recordings as $recording) 
    { 
     $duration = $recording->duration; 
    } 
?> 
+1

是当你插入数据库,或可于$持续时间的线得到8成为8更多的例子。你确定你发送正确的值作为RecordingDuration参数...你的代码似乎对我来说是正确的。 – tanaydin 2014-12-08 03:30:25

+0

持续时间在$持续时间为8。我很确定我发送了正确的值作为RecordingDuration参数,因为我也尝试从与我的Twilio帐户相关的录制列表中将recordingSID作为我的密钥来获取正确的录制内容,但是,也会返回记录持续时间8,无论记录的实际长度如何。 – MelinkJL 2014-12-08 03:48:38

根据您粘贴在该代码示例,你可以做一对夫妇不正确的东西。如果我错了,请纠正我的错误,但是我相信你在用Twilio js和他们的TwiML提交了一个请求之后,试图从Twilio API请求Recording资源?

如果是这样,twilio实际上有一个很好的demo正是你的用例。

你不应该在$_REQUEST['RecordingDuration']看到任何东西,我不知道为什么你甚至得到8返回的值。基本上你想要做的是通过使用Twilio REST API来找到用户的录音。

这里有一个例子片段:

<?php 
// Get the PHP helper library from twilio.com/docs/php/install 
require_once('/path/to/twilio-php/Services/Twilio.php'); // Loads the library 

// Your Account Sid and Auth Token from twilio.com/user/account 
$sid = "ACda6f132a3c49700934481addd5ce1659"; 
$token = "{{ auth_token }}"; 
$client = new Services_Twilio($sid, $token); 

// Loop over the list of recordings and echo a property for each one 
foreach ($client->account->recordings as $recording) { 
    echo $recording->duration; 
} 

从API调用的响应将返回一个录像资源。

这里是他们的docs

+0

你的第一条陈述是正确的,我试图获得关于我刚刚用Twilio js和TwiML提交的录音的信息。但是,我也尝试了类似于您提供的示例代码片段的内容,并继续返回相同的值。我将编辑我的原始问题,以包括尝试以澄清。 – MelinkJL 2014-12-08 04:00:51

+0

hmm,假设你正确地使用twilio php客户端,并成功地接收'Recording'资源作为响应对象。我唯一能想到的其他事情是,1)你确定你没有设置8秒的最大记录持续时间? 2)测试录音是否安静?如果是这样,Twilio修剪沉默从您的音频文件看到[提示](https://www.twilio.com/docs/api/twiml/record#hints)部分 – 2014-12-08 04:11:49

+0

我有最大录音设置为1000秒在那一刻,但如果我没有记错的话,它可能会比这更长久。我一直在做很短的1-2秒录音,但偶尔会做更长的录音。我有大约5秒钟的沉默,现在我必须等待,以便录制被考虑结束,所以也许这是它的来源? – MelinkJL 2014-12-08 05:19:26