簡體   English   中英

流式傳輸動態上傳的音頻文件

[英]Stream audio files uploaded dynamically

我正在開發使用WCF服務,SQL Server數據庫和IIS的Microsoft解決方案。

我已經開發了一種WCF服務,可以將mp3文件上傳到數據庫,現在我想使用這些文件制作視頻流。

在Internet上搜索,我發現了以下可能性:

這是一項服務,有人可以上傳文件,並且該文件將在音頻流中可用。

客戶端將是iOS(Objective-C),Android(Java)和Windows Phone(C#)。

如果必須上傳mp3文件, 對我有什么建議?

我剛剛完成了與您所描述的類似的WCF主機/客戶端設置,包括支持iOS和Android的需求。 我們所做的是在主機和客戶端之間使用BasicHTTPBinding和SOAP消息傳遞。 我們在主機和客戶端之間來回發送巨大的二進制文件,在某些情況下> 1GB,我們通過以下方式實現:

a)將二進制文件作為base64文本編碼到XML消息的主體中(請參見下面的代碼示例)。 b)此外,當二進制文件> 100MB時,我們使用一種交互方法進行上傳/下載,將二進制文件打包成100mb的片,將其作為軟件包發送並在主機或客戶端上重新組裝。 這有助於避免超時和其他問題。 c)您沒有要求,但是所有這些都可以與SSL加密一起很好地工作。

BasicHTTPBinding具有足夠的通用性和足夠的靈活性,可以支持各種客戶端設備。 只要它在XML中,它就可以處理您扔給它的任何內容。 在功能上,我們創建一個XML消息,其中包含一個“文本”部分(將與用戶有關的所有與文本有關的信息,下載/上傳類型等信息打包到其中)和一個“正文”部分,將二進制文件打包在其中。 XML如下所示:

<?xml version="1.0"?>
   <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
   <s:Body>
     <HostConnectResponse xmlns="http://SomeDomain"> 
     <HostConnectResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://schemas.datacontract.org/2004/07/SomeDomain"> 
       <a:BodySection>binaries goes in here</a:BodySection>
       <a:TextSection>&lt;WebServiceParams&gt;&lt;DeviceType value=\"Laptop\" /&gt;&lt;StreamDirection value=\"Host\" /&gt;&lt;ServiceType value=\"FileTransferService\" /&gt;&lt;Direction value=\"Host\" /&gt;&lt;Method value=\"ping\" /&gt;&lt;/WebServiceParams&gt;</a:TextSection>

     </HostConnectResult> 
     </HostConnectResponse> 
   </s:Body> 
   </s:Envelope>

祝您項目順利。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM