AirPlay是蘋果公司的在iOS4.2及OS X Mountain Lion中加入的一種播放技術(shù),可以將iPhone、iPod touch、iPad及Mac(需要OS X Mountain Lion或更新版)上的視頻鏡像傳送到支持Airplay的設(shè)備(如:音箱、Apple TV)中播放。使用Airplay需要iOS4.2版本的設(shè)備或Mac電腦上的iTunes10.1以上版本。視頻鏡像則需要iOS 5及OS X Mountain Lion。
當(dāng)用戶的設(shè)備(Mac, PC, iPod touch, iPhone, iPad)與支持AirPlay技術(shù)的音箱在同一無線局域網(wǎng)(WIFI)內(nèi)的時(shí)候,用戶在Mac或PC上打開iTunes 10或更高版本后,就會(huì)在iTunes音量條旁邊(iTunes 10在窗口的右下角)看到一個(gè)AirPlay按鈕。點(diǎn)擊該AirPlay按鈕,然后選擇需要同步到的設(shè)備,就可以選擇將音樂或視頻無線同步到設(shè)備進(jìn)行播放。而iPod touch, iPhone和iPad用戶則可以在相應(yīng)的“音樂”,“視頻”以及支持AirPlay功能的第三方軟件界面找到AirPlay按鈕,操作同Mac和PC。
由于AirPlay并非是開源的而且需要逆向獲得AirPlay key,所以要實(shí)現(xiàn)AirPlay的難度不小,網(wǎng)上流傳的AirPlay協(xié)議都是非官方的,WirelessDisplay群里有下載好的協(xié)議,每次?IOS的升級(jí)都會(huì)對(duì)AirPlay協(xié)議進(jìn)行一定的修改,給剛接觸想學(xué)習(xí)AirPlay的朋友推薦幾個(gè)簡單的AirPlay實(shí)現(xiàn)
第一個(gè)流傳出來的AirPlay是由James Laird大神發(fā)布的,原因就是他的女朋友想將自己的ipod無線投到音響上播放,當(dāng)時(shí)只有蘋果官方的盒子才能夠支持,James Laird一怒之下破解了當(dāng)時(shí)的AirPlay協(xié)議,并且公開了Private Apple AirPlay key。
//github.com/abrasive/shairport
這個(gè)daemon采用c語言編寫,可以進(jìn)行ios7及以下設(shè)備的音頻投射,在公司用ipod實(shí)測可用。
//github.com/gpfduoduo/AirPlay-Receiver-on-Android
我天朝人發(fā)布的開源項(xiàng)目,支持IOS8.4之前的音視頻投屏以及圖片推送,經(jīng)過實(shí)測可用。
AirPlay版本繁多,協(xié)議也比較多:鏡像,非鏡像,圖片,視頻,音頻,第三方app等等各種協(xié)議之間都有差別,以后會(huì)慢慢給大家介紹的。
要實(shí)現(xiàn)AirPlay的第一步就是要實(shí)現(xiàn)ios與AirPlay之間的相互發(fā)現(xiàn),可以使用zeroconf,mdns等開源協(xié)議來實(shí)現(xiàn),下一章會(huì)詳細(xì)介紹介紹這幾種發(fā)現(xiàn)協(xié)議。