2013-02-12 45 views
0

我們在我們的Android應用程序(使用sencha和phonegap的混合應用程序構建)中使用了callfire API。該應用程序的概念是在列表中顯示錄製的呼叫,並單擊列表中的任何呼叫時,它將播放錄製的音頻文件(.wav格式)。現在問題是我們無法在我們的應用程序中播放該文件。我們也嘗試在Android手機瀏覽器上直接播放該網址,但它也無效。無法播放來自callfire API的.wav文件

這裏是音頻文件格式https://www.callfire.com/cloud/1/files/recording/dynamic/864c81f4a8e6a898042cb47251ca1c85/2012/8/6065312/cid_1319779221_1.wav

的URL之一,當我們把這個音頻文件在我們的服務器並試圖發揮它我們的應用,它的工作完美。

請問您能告訴我們背後的原因是什麼?

我們使用三星Galexy Y軟件版本2.2進行測試。

回答

0

您可以使用HTML5音頻測試here來檢查它是否支持您的設備的瀏覽器,但它聽起來好像不是。

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 
?>