L'une des fonctionnalités les plus impressionnantes publiées avec iOS 4.3 est la prise en charge officielle du SDK pour l'intégration d'AirPlay. Avec seulement quelques lignes de code, toute application iOS peut désormais diffuser de la vidéo directement sur un AppleTV! AirPlay fonctionnera également avec d'autres appareils Apple pris en charge, tels que AirPort Express. Poursuivez votre lecture pour apprendre à intégrer AirPlay à vos applications.!
Dans un précédent tutoriel, j'ai montré comment lire une vidéo sur iOS4 avec le Framework MediaPlayer. Ce didacticiel étend l’application iOS Big Buck Bunny créée dans ce didacticiel en intégrant la nouvelle fonctionnalité AirPlay proposée dans le SDK 4.3..
Activer AirPlay sur n’importe quel MPMoviePlayerController
l'objet est simple:
[moviePlayerController setAllowsAirPlay: YES];
Réglage du permetAirPlay
Si la propriété est définie sur YES, une icône supplémentaire apparaîtra à côté des commandes du lecteur de film qui initieront la lecture AirPlay. Malheureusement, les développeurs ne disposent pas du contrôle direct sur cette fonctionnalité et doivent dépendre du fonctionnement par défaut de ce contrôle..
Après avoir activé AirPlay, les commandes du lecteur vidéo Big Buck Bunny doivent ressembler à ceci:
Une fois que vous avez commencé à diffuser sur un périphérique AirPlay, l'écran Big Buck Bunny affiche automatiquement un message notifiant à l'utilisateur:
Bien sûr, vous auriez aussi pu régler le permetAirPlay
valeur via notation par points:
moviePlayerController.allowsAirPlay = YES;
Exécution de la ligne de code de l'étape 1 sur les anciennes versions d'iOS qui ne prennent pas en charge la permetAirPlay
Cette propriété entraînera une exception d'exécution qui plantera votre application. Pour proposer AirPlay uniquement aux appareils qui le prennent en charge, nous devons placer une condition autour de la déclaration afin de vérifier si le MPMoviePlayerController
objet supporte le permetAirPlay
option.
Pour ce faire, mettez à jour le code pour utiliser le répond au sélecteur:
méthode:
if ([moviePlayerController répondToSelector: @selector (setAllowsAirPlay :)]) ) [[moviePlayerController setAllowsAirPlay: YES];
L'extrait ci-dessus activera AirPlay lorsqu'il sera pris en charge et ignorera simplement le bloc de code sur les appareils non pris en charge..
Lors de l’implémentation d’AirPlay dans vos projets, il convient de garder quelques éléments à l’esprit:
1. AirPlay n'est pas pris en charge sur les appareils plus anciens.
Les utilisateurs d'iPhone 3G désespérés: pas d'AirPlay pour vous. Apple a pour habitude de rendre les nouvelles fonctionnalités du SDK et iOS uniquement disponibles sur les appareils les plus récents, et cela est vrai avec le complément AirPlay du SDK 4.3..
Les problèmes d'assistance ne sont pas limités aux seuls appareils iPhone plus anciens. Selon certaines rumeurs, les anciennes versions de l’AppleTV ne prendraient pas en charge les nouvelles fonctionnalités AirPlay.
2. Les utilisateurs doivent mettre à jour les logiciels AppleTV et iOS
Lorsque vous lancez une application compatible AirPlay, n'oubliez pas que vos utilisateurs devront disposer d'une version iOS récente sur leur appareil ET d'une version mise à jour du logiciel AppleTV. Votre application fonctionne peut-être parfaitement, mais une version de système d'exploitation plus ancienne fonctionnant sur un Apple TV peut toujours voler la joie de vos utilisateurs.
3. Les utilisateurs doivent partager le réseau avec les appareils AirPlay
Pour qu'iOS puisse trouver d'autres périphériques compatibles Apple AirPlay, vous devez vous connecter au même réseau WiFi que celui auquel les périphériques AirPlay sont connectés. Une connexion Edge / 3G sans signal sans fil ne suffit pas!