基於Android系統的UPNP媒體播放器的實現步驟

UPNP 功能的實現

UPNP 媒體播放器作爲一個 UPNP 家庭網絡中的媒體播放器,還可對網絡中的多媒體文
件進行播放的功能,同時它也是一個 UPNP 設備,應該支持 UPNP 規定的一些功能,包括設
備發現,設備描述,設備控制等功能。

  1. 初始化整個 UPNP 協議棧
    在 UPNP 媒體播放器中的播放頁面 PlayerActivity 中完成 UPNP 協議棧的初始化,通過調
    用 cling 開發庫中的 AndroidUpnpService 接口來實現
public interface AndroidUpnpService {
 public UpnpService get();
public UpnpServiceConfiguration getConfiguration();
public Registry getRegistry();
public ControlPoint getControlPoint();
}
  1. 設備註冊和初始化
    在設備註冊前,應先創建一個 UPNP 設備,用 createDevice()函數完成對設備的初始化,
    註冊設備描述文檔。其中設備描述包括設備的名稱,類型、詳細信息等。
protected LocalDevice createDevice()
{
 DeviceType type = new UDADeviceType("UpnpPlayer", 1); //設備名稱
 DeviceDetailsdetails=newDeviceDetails("UpnpPlayeron"
 ModelUtil.getLocalHostName(false), //設備詳細信息
 New ManufacturerDetails("UpnpPlayer", "http://www.njupt.edu.cn")); //設備製造商
 DeviceIdentity identity = new DeviceIdentity(udn);
 return new LocalDevice( identity, type, details,createService());
 }
  1. 在 UPNP 設備中添加所需的 UPNP 服務
    本項目中所實現的媒體播放器包含的服務有:
    連接管理服務和內容傳輸服務。其中連接管理服務主要用來管理與媒體服務器之間的連接。
public LocalService<?>[] createService()
{
LocalService<?> Service_Connect = localServiceConnect(); //連接管理服務
LocalService<?> Service_Transport = localServiceAvtransport(); //內容傳輸服務
LocalService<?> [] localService ={ Service_Connect ,Service_Transport };
return localService;
}

當設備和服務都創建好之後,就需要將此設備添加到註冊表中以便能夠將此設備信息及服
務信息發佈到 UPNP 網絡中。需要調用 Cling 開發庫中的 addDevice()方法:

upnpService.getRegistry().addDevice(UpnpPlayerDevice);

其中 UpnpPlayerDevice 爲創建好的媒體播放器設備。
4. 控制點發送命令,媒體播放器接收處理
根據媒體播放器的工作流程可知,當控制點選擇好媒體播放器上的多媒體文件後,需要
將媒體文件的 URL 發送給媒體播放器,這時會觸發設置媒體播放器的傳輸地址這一動作,則
會調用內容傳輸服務中的 SetAVTransportURI()給媒體播放器提供多媒體文件的 URL。

獲得 URL 後,調用內容傳輸服務中的 play()接口開始媒體內容傳輸動作。
當控制點在網絡多媒體服務器上定位了一個多媒體文件時,再通過選擇對應的多媒體播
放器則會觸發設置傳輸地址這個動作。在本設計中調用 propertyChange 這個方法去實現。

public void propertyChange(PropertyChangeEvent event)
 {
 if (event.getPropertyName().equals("AVTransportURI"))
 {
 log.info("Turning light: " + event.getNewValue());
 playVideo((String) event.getNewValue());
 }
 }

UPNP協議的分析及實現
基於Android系統的UPNP媒體播放器的研究與實現

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章