2012-09-11 88 views
1

我目前正在研究UPnP的實施。Android設備的UPnP說明文件和媒體類型支持

首先,我很幸運發現實現

基於在Android裝置的cybergarage庫渲染器(DMR)一個開放源代碼應用。

你可以在這裏找到:

http://code.google.com/p/stream2android/ (感謝開發者爲這個源作爲我的初創材料)

不過,我有以下一些問題:

  1. 描述文件困惑我。任何人都可以讓我知道如何編寫描述 file .xml?我已經搜索了這個主題,但還沒有找到任何東西可以全面指導我
    。描述文件準確地做了什麼以及該文件如何與UPnP進行交互 ?

  2. 該項目到目前爲止實現了渲染器(DMR)功能,並且僅支持視頻流 。我想要支持圖像和音頻媒體類型。 鑰匙我應該注意什麼?

感謝您的回覆和提前指導。 :)

+1

您可以從UPnP論壇閱讀[docs包](http://upnp.org/resources/upnpresources.zip)中的UPnP設備體系結構文檔開始。然後轉到個別服務描述。不過要注意,學習UPnP和編寫完整的渲染器將是一項大量的工作。 – simonc

+0

謝謝你的回覆simonc。我知道創建渲染器會導致很多工作。所以我很欣賞其他開發者創建了一些渲染器的開源代碼,以便我可以根據它的結構來實現它。 – Sam

回答

4
  1. 設備描述文件,以及描述:-)的任何設備希望參加UPnP網絡必須服務以衆所周知的位置(URL)這個文件中,UPnP設備,使得在任何其他裝置UPnP網絡可以獲得這個XML,並知道設備類型,名稱,序列號以及最重要的是它實現了哪些服務。我建議您下載UPnP specs bundle並導航至文檔/ UPnP-arch-DeviceArchitecture pdf。這是瞭解UPnP的起點。它被寫入非常容易理解,並且在希望加入UPnP網絡的設備的確切步驟中進行。設備描述與每個單個條目的示例和解釋完成。

  2. UPnP中的「流式傳輸」只是簡單地使用HTTP GET下載媒體二進制文件。我暫時簡化了,因爲我不指望你使用任何其他傳輸方式,如RTSP或FireWire。因此,「流媒體」本身並不是問題,您只需告知UPnP網絡您接受(例如)image/jpeg和audio/mpeg,而不僅僅是video/mpeg。 「你應該注意的關鍵」是你必須能夠渲染你所要求的所有二進制數據。它不像「流媒體」那樣關於擁有合適的編解碼器並知道如何在你的平臺上使用它們。

+0

謝謝帕維爾。我會在後面討論你之前提到的。 :) – Sam

+0

我喜歡你的答案。這對我來說是非常有幫助的。 – Sam