En av de mest imponerende funksjonene som er utgitt med iOS 4.3, er offisiell SDK-støtte for AirPlay-integrasjon. Med bare noen få linjer med kode, kan en hvilken som helst iOS-applikasjon nå streame video direkte til en AppleTV! AirPlay vil også fungere sammen med andre støttede Apple-enheter, som AirPort Express. Les videre for å lære hvordan du integrerer AirPlay i appene dine!
I en tidligere opplæring demonstrerte jeg hvordan du spiller video på iOS4 med MediaPlayer Framework. Denne opplæringen vil utvide Big Buck Bunny iOS app opprettet i den opplæringen ved å inkorporere den nye AirPlay-funksjonaliteten som tilbys i SDK 4.3.
Aktiverer AirPlay på noen MPMoviePlayerController
objektet er enkelt:
[moviePlayerController setAllowsAirPlay: YES];
Innstilling av allowsAirPlay
eiendom til JA vil føre til at et ekstra ikon vises sammen med filmspillkontrollene som vil starte avspilling av AirPlay. Dessverre blir utviklere ikke gitt direkte kontroll over denne funksjonen, og må avhenge av standardfunksjonen til denne kontrollen.
Etter å ha aktivert AirPlay, bør kontrollene for Big Buck Bunny videospilleren se slik ut:
Når du begynner å streame til en AirPlay-enhet, viser skjermbildet Big Buck Bunny automatisk en melding som informerer brukeren:
Selvfølgelig kan du også ha satt allowsAirPlay
verdi via punktnotering:
moviePlayerController.allowsAirPlay = YES;
Kjører linjen med kode fra trinn 1 på eldre versjoner av iOS som ikke støtter allowsAirPlay
Egenskapen vil resultere i et løp-tids unntak som vil krasje appen din. For å bare tilby AirPlay til de enhetene som støtter det, må vi stille en betingelse rundt setningen som vil sjekke for å se om MPMoviePlayerController
objektet støtter allowsAirPlay
alternativ.
For å gjøre det, oppdater koden for å bruke respondsToSelector:
metode:
hvis ([moviePlayerController respondsToSelector: @selector (setAllowsAirPlay :)]) [moviePlayerController setAllowsAirPlay: YES];
Utklippet over vil aktivere AirPlay når det støttes og bare hoppe over kodeblokken på ikke-støttede enheter.
Det er noen ting å huske på når du implementerer AirPlay i prosjektene dine:
1. AirPlay støttes ikke på eldre enheter.
iPhone 3G-brukere fortvilelse: ingen AirPlay for deg. Apple har en vane med å lage nye SDK- og iOS-funksjoner bare tilgjengelig på de nyeste enhetene, og dette er sant med AirPlay-tillegget til SDK 4.3.
Støtteproblemene er ikke bare begrenset til eldre iPhone-enheter, heller. Eldre versjoner av AppleTV er også ryktet for ikke å støtte de nye AirPlay-funksjonene.
2. Brukere må oppdatere AppleTV og iOS-programvaren
Når du starter en AirPlay-aktivert app, må du huske at brukerne må ha både en ny iOS-versjon på enheten og en oppdatert versjon av AppleTV-programvaren. Din applikasjon kan fungere perfekt, men en eldre OS-versjon som kjører på en Apple TV, kan fortsatt stjele brukerens glede.
3. Brukere må dele nettverk med AirPlay-enheter
For at iOS skal finne andre Apple AirPlay-aktiverte enheter, må du bli med i det samme Wi-Fi-nettverket som AirPlay-enhetene er koblet til. En Edge / 3G-tilkobling uten et trådløst signal er ikke nok!