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

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


咨詢
建站咨詢
