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;
}
?>
根据您粘贴在该代码示例,你可以做一对夫妇不正确的东西。如果我错了,请纠正我的错误,但是我相信你在用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
你的第一条陈述是正确的,我试图获得关于我刚刚用Twilio js和TwiML提交的录音的信息。但是,我也尝试了类似于您提供的示例代码片段的内容,并继续返回相同的值。我将编辑我的原始问题,以包括尝试以澄清。 – MelinkJL 2014-12-08 04:00:51
hmm,假设你正确地使用twilio php客户端,并成功地接收'Recording'资源作为响应对象。我唯一能想到的其他事情是,1)你确定你没有设置8秒的最大记录持续时间? 2)测试录音是否安静?如果是这样,Twilio修剪沉默从您的音频文件看到[提示](https://www.twilio.com/docs/api/twiml/record#hints)部分 – 2014-12-08 04:11:49
我有最大录音设置为1000秒在那一刻,但如果我没有记错的话,它可能会比这更长久。我一直在做很短的1-2秒录音,但偶尔会做更长的录音。我有大约5秒钟的沉默,现在我必须等待,以便录制被考虑结束,所以也许这是它的来源? – MelinkJL 2014-12-08 05:19:26
是当你插入数据库,或可于$持续时间的线得到8成为8更多的例子。你确定你发送正确的值作为RecordingDuration参数...你的代码似乎对我来说是正确的。 – tanaydin 2014-12-08 03:30:25
持续时间在$持续时间为8。我很确定我发送了正确的值作为RecordingDuration参数,因为我也尝试从与我的Twilio帐户相关的录制列表中将recordingSID作为我的密钥来获取正确的录制内容,但是,也会返回记录持续时间8,无论记录的实际长度如何。 – MelinkJL 2014-12-08 03:48:38