我们在Android应用程序中使用callfire API (使用sencha和phonegap构建的混合应用程序)。该应用程序的概念是在列表中显示录音通话,点击列表中的任何通话,它将播放录制的音频文件(.wav格式)。现在的问题是我们不能在我们的应用程序中播放该文件。我们也尝试过直接在Android手机浏览器上播放该URL,但同样不起作用。
下面是其中一个音频文件格式https://www.callfire.com/cloud/1/files/recording/dynamic/864c81f4a8e6a898042cb47251ca1c85/2012/8/6065312/cid_1319779221_1.wav的URL
当我们把这个音频文件放到我们的服务器上,并尝试播放我们的应用程序时,它工作得很好。
您能否告诉我们这背后的原因是什么?
我们使用三星Galexy Y和软件版本2.2进行测试。
发布于 2013-02-13 01:10:05
您可以使用HTML5音频测试可用here来检查您的设备浏览器是否支持它,但听起来似乎不支持。
发布于 2014-07-17 22:39:31
看起来您引用的是较旧版本的CallFire应用编程接口。有一个新的接口和一个新的API结合在一起,提供了一个GetSoundData方法。调用这个方法会返回原始的MP3数据,你也可以请求WAV。
https://www.callfire.com/api-documentation/version/1.1/CallService/GetSoundData
文档提供了一个PHP示例,但是如果移植到另一种语言,参数应该是相同的。
<?php
/**
* You'll need your login/password pair when you create the SOAP client.
* Don't use the fake login/password provided here; it's just for show and
* won't work.
*/
$wsdl = "http://callfire.com/api/1.1/wsdl/callfire-service-http-soap12.wsdl";
$client = new SoapClient($wsdl, array(
'soap_version' => SOAP_1_2,
'login' => 'YourLoginId',
'password' => 'YourPassword'));
/**
* GetSoundData. Get raw binary sound data (MP3 or WAV) for stored sound asset.
*/
$request = new stdclass();
$request->Id = 9; // long required
$request->Format = 'MP3'; // SoundFormat [WAV, MP3]
$response = $client->GetSoundData($request);
$byteCount = file_put_contents("my_returned_sound.mp3", $response);
echo "byteCount: " . $byteCount;
// Sample response:
// byteCount: 22749
?>https://stackoverflow.com/questions/14831605
复制相似问题