自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android平臺(tái)Airplay的實(shí)現(xiàn)方法

移動(dòng)開(kāi)發(fā) Android
如果Android機(jī)頂盒能夠支持IOS設(shè)備的Airplay協(xié)議,實(shí)現(xiàn)為Airplay服務(wù)器,能夠接收和處理來(lái)自IOS設(shè)備的多媒體數(shù)據(jù)(視頻、照片和音樂(lè)),將能提高Android機(jī)頂盒的競(jìng)爭(zhēng)力。本文將介紹Android平臺(tái)Airplay的實(shí)現(xiàn)方法,希望對(duì)您有所幫助。

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

IOS設(shè)備的保有量非常大,如果Android機(jī)頂盒能夠支持IOS設(shè)備的Airplay協(xié)議,實(shí)現(xiàn)為Airplay服務(wù)器,能夠接收和處理來(lái)自IOS設(shè)備的多媒體數(shù)據(jù)(視頻、照片和音樂(lè)),將能提高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)中有開(kāi)源的AVAHI庫(kù),其他兩個(gè)服務(wù)需要基于Airplay協(xié)議去實(shí)現(xiàn)。

1 Airplay概念圖

 

Airplay客戶(hù)端:iPhone, iPad, iPod等IOS設(shè)備

Airplay服務(wù)器:iTV, Macbook, AndriodTVBox

網(wǎng)絡(luò):Wifi無(wú)線(xiàn)局域網(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開(kāi)源代碼(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)要說(shuō)明一下:實(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ù)交互是通過(guò)DBUS-Service的。DBUS服務(wù),Android原生系統(tǒng)就自帶。

   上面介紹了一下系統(tǒng)庫(kù)的依賴(lài)關(guān)系,下面介紹一下如何實(shí)現(xiàn)吧。

   (1) 修改DUBS-Service(Andriod)服務(wù)的權(quán)限,默認(rèn)是藍(lán)牙才能訪問(wèn),設(shè)置為系統(tǒng)級(jí)程序都可以訪問(wèn)。

   (2) 編寫(xiě)一個(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è)備交互,還是有一絲驚艷的。不過(guò)Airplay不是唯一技術(shù),DLNA,WifiDisplay也有類(lèi)似功能。

責(zé)任編輯:閆佳明 來(lái)源: csdn
相關(guān)推薦

2012-03-07 11:17:19

AndroidPhoneGap插件

2011-09-14 09:20:03

PhonegapAndroid平臺(tái)

2010-02-06 18:04:21

Android 接口

2010-01-26 17:36:17

Android實(shí)現(xiàn)全屏

2011-09-05 15:09:06

Android平臺(tái)Phonegap

2019-04-12 11:20:15

iPhoneiPad AirPlaWindows 10

2010-07-16 10:19:28

PHP for And

2018-05-08 14:47:38

虛擬機(jī)方法代碼

2010-12-01 14:34:59

AsyncTask異步處理任務(wù)Android

2024-06-03 08:26:34

Android開(kāi)發(fā)監(jiān)聽(tīng)器

2010-01-26 10:10:51

Android模擬SD

2009-04-22 16:39:41

LinuxTomdroidTomboy

2014-05-09 15:43:39

移動(dòng)安全Android安全

2010-03-02 14:15:11

Android平臺(tái)

2013-06-27 09:26:50

Android界面刷新

2013-11-27 09:47:20

Java加密

2020-09-22 08:52:50

平臺(tái)實(shí)現(xiàn)消息

2022-12-28 08:31:38

平臺(tái)設(shè)計(jì)應(yīng)用

2017-07-25 09:27:39

2013-12-03 12:37:28

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)