Android平台Airplay的實現方法

來源:互聯網
上載者:User

Airplay屬於區域網路內異構裝置之間分享多媒體資料的一種通訊協定。Airplay裝置有用戶端和伺服器之分,一般將小屏IOS裝置實現為Airplay用戶端,大螢幕裝置實現為Airplay伺服器。即iPhone, iPad, iPod一般為Airplay用戶端,iTV, Macbook設計為Airplay伺服器,在小屏和大屏之間分享視頻、照片和音樂。Airplay屬於私人協議,著作權Apple公司所有。

IOS裝置的保有量非常大,如果Android機頂盒能夠支援IOS裝置的Airplay協議,實現為Airplay伺服器,能夠接收和處理來自IOS裝置的多媒體資料(視頻、照片和音樂),將能提高Android機頂盒的競爭力。

技術點分析:Airplay伺服器端包含3個服務:DNS服務探索服務;基於HTTP協議的Airplay服務和基於UDP的Airtunes服務。DNS服務探索服務,在linux系統中有開源的AVAHI庫,其他兩個服務需要基於Airplay協議去實現。

1 Airplay概念圖

Airplay用戶端:iPhone, iPad, iPod等IOS裝置

Airplay伺服器:iTV, Macbook, AndriodTVBox

網路:Wifi無線區域網路 

Airplay服務端包含的協議:DNS服務發現協議、HTTP協議、TCP/UDP協議、Airplay協議

Airplay服務端包含的服務:DNS服務探索服務、Airplay服務和Airtunes服務

2 部分Airplay開原始碼(Android平台的較少哦)

Servers

Name

Description

Open

AirServer

The best app for turning your Mac into an AirPlay screen

-

Reflection

Turn your Mac or PC into an AirPlay screen

-

Banana TV

Another app to turn your Mac into and AirPlay screen

-

Casual Share

Mac AirPlay receiever

R

AirMac

Turns you Macintosh into an Airplay receiver (Objective C)

R

Airstream Media Player

C# based AirPlay screen for windows and AirPlay server source code

R

Play2Wifi

An AirPlay server written in Python

R

3 Android平台上Airplay的實現

 簡要說明一下:實現Airplay,最重要的有兩步,第一步是:Airplay服務發布,讓IOS裝置能發現你;第二步:實現Airplay協議應答, 讓IOS裝置能和你互動。Airplay發布服務,Linux系統中原生的Zeroconf協議,用於發布網路服務。Android平台上並不支援Zeroconf協議。所以需要安裝Linux版本的Avahi,Avahi是Zeroconf協議的Linux實現。Avahi服務發行管理系統,支援跨進程發布,其中跨進程的資料互動是通過DBUS-Service的。DBUS服務,Android原生系統就內建。

 上面介紹了一下系統庫的依賴關係,下面介紹一下如何?吧。

1) 修改DUBS-Service(Andriod)服務的許可權,預設是藍芽才能訪問,設定為系統級程式都可以訪問。

2) 編寫一個新的服務零配置網路發布服務ZeroconfAvahiService】,其中簡單封裝一下Avahi服務和Avahi-client。並在Android設定檔中,讓該服務自啟動。

3) AirplayServer程式中,建立Avahi-client,發布Airplay服務。如果IOS裝置能發現您的Android裝置,恭喜服務發布成功。

4) 實現AirplayServer實現Airplay協議,完成與IOS裝置的映像、視頻資料的互動。Coding, Debugging, 總會成功的。

4 感想

學會了Android平台Airplay的實現方法,屌絲裝置能和高富帥裝置互動,還是有一絲驚豔的。不過Airplay不是唯一技術,DLNA,WifiDisplay也有類似功能。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.