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