[英]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><WebServiceParams><DeviceType value=\"Laptop\" /><StreamDirection value=\"Host\" /><ServiceType value=\"FileTransferService\" /><Direction value=\"Host\" /><Method value=\"ping\" /></WebServiceParams></a:TextSection>
</HostConnectResult>
</HostConnectResponse>
</s:Body>
</s:Envelope>
祝您項目順利。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.