0

我们在我们的 Android 应用程序中使用 callfire API(使用 sencha 和 phonegap 构建的混合应用程序)。该应用程序的概念是在列表中显示录制的通话,单击列表中的任何通话都会播放录制的音频文件(.wav 格式)。现在的问题是我们无法在我们的应用程序中播放该文件。我们还尝试直接在 Android 手机浏览器上播放该 URL,但也没有成功。

这是音频文件格式的 URL 之一https://www.callfire.com/cloud/1/files/recording/dynamic/864c81f4a8e6a898042cb47251ca1c85/2012/8/6065312/cid_1319779221_1.wav

当我们将此音频文件放入我们的服务器并尝试在我们的应用程序中播放它时,它运行良好。

你能告诉我们这背后的原因是什么吗?

我们正在使用带有软件版本 2.2 的三星 Galexy Y 进行测试。

4

2 回答 2

0

您似乎在引用旧版本的 CallFire API。有一个新接口与一个提供 GetSoundData 方法的新 API 相结合。调用此方法返回原始 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
?>
于 2014-07-17T14:39:31.407 回答
0

您可以使用此处提供的 HTML5 音频测试来检查您设备的浏览器是否支持它,但听起来好像不支持。

于 2013-02-12T17:10:05.450 回答