新聞中心
Airplay屬于局域網內異構設備之間分享多媒體數(shù)據(jù)的一種通信協(xié)議。Airplay設備有客戶端和服務器之分,一般將小屏IOS設備實現(xiàn)為Airplay客戶端,大屏幕設備實現(xiàn)為Airplay服務器。即iPhone, iPad, iPod一般為Airplay客戶端,iTV, Macbook設計為Airplay服務器,在小屏和大屏之間分享視頻、照片和音樂。Airplay屬于私有協(xié)議,版權Apple公司所有。

為會昌等地區(qū)用戶提供了全套網頁設計制作服務,及會昌網站建設行業(yè)解決方案。主營業(yè)務為成都網站建設、做網站、會昌網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
IOS設備的保有量非常大,如果Android機頂盒能夠支持IOS設備的Airplay協(xié)議,實現(xiàn)為Airplay服務器,能夠接收和處理來自IOS設備的多媒體數(shù)據(jù)(視頻、照片和音樂),將能提高Android機頂盒的競爭力。
技術點分析:Airplay服務器端包含3個服務:DNS服務發(fā)現(xiàn)服務;基于HTTP協(xié)議的Airplay服務和基于UDP的Airtunes服務。DNS服務發(fā)現(xiàn)服務,在linux系統(tǒng)中有開源的AVAHI庫,其他兩個服務需要基于Airplay協(xié)議去實現(xiàn)。
1 Airplay概念圖
Airplay客戶端:iPhone, iPad, iPod等IOS設備
Airplay服務器:iTV, Macbook, AndriodTVBox
網絡:Wifi無線局域網
Airplay服務端包含的協(xié)議:DNS服務發(fā)現(xiàn)協(xié)議、HTTP協(xié)議、TCP/UDP協(xié)議、Airplay協(xié)議
Airplay服務端包含的服務:DNS服務發(fā)現(xiàn)服務、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的實現(xiàn)
簡要說明一下:實現(xiàn)Airplay,最重要的有兩步,第一步是:Airplay服務發(fā)布,讓IOS設備能發(fā)現(xiàn)你;第二步:實現(xiàn)Airplay協(xié)議應答, 讓IOS設備能和你交互。Airplay發(fā)布服務,Linux系統(tǒng)中原生的Zeroconf協(xié)議,用于發(fā)布網絡服務。Android平臺上并不支持Zeroconf協(xié)議。所以需要安裝Linux版本的Avahi,Avahi是Zeroconf協(xié)議的Linux實現(xiàn)。Avahi服務發(fā)布管理系統(tǒng),支持跨進程發(fā)布,其中跨進程的數(shù)據(jù)交互是通過DBUS-Service的。DBUS服務,Android原生系統(tǒng)就自帶。
上面介紹了一下系統(tǒng)庫的依賴關系,下面介紹一下如何實現(xiàn)吧。
(1) 修改DUBS-Service(Andriod)服務的權限,默認是藍牙才能訪問,設置為系統(tǒng)級程序都可以訪問。
(2) 編寫一個新的服務【零配置網絡發(fā)布服務ZeroconfAvahiService】,其中簡單封裝一下Avahi服務和Avahi-client。并在Android配置文件中,讓該服務自啟動。
(3) AirplayServer程序中,創(chuàng)建Avahi-client,發(fā)布Airplay服務。如果IOS設備能發(fā)現(xiàn)您的Android設備,恭喜服務發(fā)布成功。
(4) 實現(xiàn)AirplayServer實現(xiàn)Airplay協(xié)議,完成與IOS設備的圖像、視頻數(shù)據(jù)的交互。Coding, Debugging, 總會成功的。
4 感想
學會了Android平臺Airplay的實現(xiàn)方法,屌絲設備能和高富帥設備交互,還是有一絲驚艷的。不過Airplay不是唯一技術,DLNA,WifiDisplay也有類似功能。
文章標題:Android平臺Airplay的實現(xiàn)方法
文章起源:http://m.5511xx.com/article/coeegsg.html


咨詢
建站咨詢
