2017-04-12 48 views
0

我實際上試圖通過點擊第三方API來實現Salesforce中的文本到語音轉換。當我通過郵差發送請求時,我以.wav格式返回正確的響應。但是,我無法在salesforce中以編程方式處理此響應,因爲我無法將響應存儲在任何音頻對象中。如何將在HttpResponse調用中作爲Blob接收的文件轉換爲Salesforce Apex編碼中的音頻文件?

任何援助將不勝感激。

在此先感謝。 Abhishek。

回答

1

沒有100的肯定你的努力做,但它會是這個樣子假設您%建立你的對象正確

ResponseObject result = new ResponseObject(); 

result = (InnerClasses.ResponseObject)JSON.deserialize(json, InnerClasses.ResponseObject.class); 
+0

嗨,Eric。 非常感謝您的回覆。 我已經能夠以blob /字符串格式接收來自api調用的音頻響應。但是,我無法將其轉換爲可以在處理控制器類中的響應時將其存儲的格式,或者將其返回到Visualforce頁面時使用的格式。作爲處理音頻的唯一方式,我搜索的是使用

+0

我從來沒有在字符串中看到過wav格式,我不確定這看起來像什麼或者你在做什麼。你是否將字符串解析爲對象? – EricSSH

+0

我以字符串格式發送我的請求,而從服務器獲得的回覆爲wav格式。我想以某種方式在salesforce中保存這個對象,以便稍後讓用戶聽到它。 而且,目前我沒有將響應字符串解析爲對象。會通過任何方式解析它的幫助? 我不確定解析後,結果文件會是什麼! 非常感謝你對我的支持。 @EricSSH –

0

這是由IBM的沃森Salesforce的SDK支持,可here

的沃森的文本到語音服務功能測試可以發現參考方法

testSynthesize(字符串username,字符串PAS劍,字符串customizationId)

音頻文件返回作爲響應的一部分可以通過簡單地從IBMWatsonFile創建它像本實施例中被保存爲在Salesforce附件,

IBMWatsonFile resp = textToSpeech.synthesize(options); 
Attachment attachment = new Attachment(); 
attachment.Body = resp.body(); 
attachment.Name = resp.name(); 
attachment.ParentId = '<your salesforce parent id>'; 
insert attachment; 

這代碼基本上使用的方法getBodyAsBlob()可用HttpResponse

在使用這種方法之前,請考慮州長限制由Salesforce在任何APEX標註上執行,請參閱標註請求或響應的最大大小記錄here

相關問題