I. Qu'est-ce que Miracast ?

La Wi-Fi Alliance a officiellement annoncé le « Wi-Fi CERTIFIED » Miracast, le 19 septembre 2012, apportant ainsi une solution révolutionnaire pour afficher une vidéo de façon transparente entre les appareils, sans câbles ou par une connexion réseau.

Les utilisateurs peuvent regarder des photos ou des vidéos à partir d'un smartphone sur un téléviseur grand écran, partager un écran d'ordinateur avec le projecteur de la salle de conférence en temps réel et regarder des émissions en direct à partir d'un Box nternet sur une tablette. Les connexions Miracast sont formées en utilisant une connexion « Wi-Fi CERTIFIED   Wi-Fi Direct » , donc l'accès à un réseau Wi-Fi n'est pas nécessaire, la capacité à se connecter se situe à l'intérieur des appareils certifiés Miracast.

La connexion de Miracast est basée sur un réseau Wi-Fi Direct, soit une connexion peer to peer. L'architecture Miracast basée sur le Wi-Fi est montrée ci-dessous.

Image non disponible
Figure 1 : L'architecture Miracast

Il existe quatre modes de connexion Miracast comme montré ci-dessous

Image non disponible
Figure 2: les modes de connexion Miracast

Avec une connexion Miracast, vous pouvez activer la connectivité entre les périphériques sans point d'accès Wi-Fi, comme indiqué par le schéma 1.

Vous pouvez également vous connecter à un écran via un adaptateur lors de la connexion à un point d'accès, comme indiqué par le schéma 2. C'est très pratique pour regarder la vidéo en ligne à la maison avec ce mode. Si vous avez un téléviseur intelligent qui prend également en charge Miracast, votre téléviseur et votre smartphone peuvent même s'interconnecter, comme indiqué par le schéma 4.

Selon la norme Miracast, le mode interactif des dispositifs source et des périphériques d'affichages peuvent être schématisés comme suit :

Image non disponible

Les périphériques sources et les périphériques d'affichages découvrent les capacités Miracast des unes et des autres capacités avant la configuration de la connexion. La connexion est basée sur le « Wi-Fi Direct » ou le TDLS. Les dispositifs d'affichage et périphériques sources déterminent les paramètres de la session Miracast suivant une négociation de capacité. Le processus de négociation est basé sur la connexion TCP. Les appareils sources vont transférer du contenu aux périphériques d'affichage via le format MPEG2-TS basé sur la connexion UDP.

Les formats de streaming sans fil Miracast pris en charge sont répertoriés dans le tableau 4.

Image non disponible
Table 4: Les formats de streaming Miracast

II. Miracast sur Android 4.2

« Now Miracast on Android supports clone mode and presentation mode, as shown below »:

Google a commencé à supporter Miracast sur la version Android 4.2. Les utilisateurs peuvent partager des films, des photos, des vidéos YouTube et tout ce qui est sur votre écran HDTV via la technologie d'affichage sans fil. La HDTV externe est répertoriée comme un écran externe.-

Désormais, Miracast sur Android supporte le mode « clone » et le mode « présentation », comme indiqué ci-dessous  :

Image non disponible

Le mode Clone duplique l'écran du téléphone sur l'écran à distance. La résolution des images envoyées à l'adaptateur correspond à la résolution de l'affichage local. Avec ce mode, les écrans locaux et distants sont activés et montrent le même contenu.

En mode présentation, Android permet maintenant à votre application d'afficher un contenu unique sur les écrans supplémentaires qui sont connectés à l'appareil de l'utilisateur via une connexion filaire ou Wi-Fi. Les applications doivent être modifiées afin de supporter ce mode, sinon ils seront par défaut en mode clone.

III. Développer les différentiations de Miracast sur l'architecture Intel pour les Téléphone IA 

La solution d'affichage sans fil d'Intel sur les téléphones Android et les tablettes est totalement compatible avec Miracast. Nous avons également quelques applications ayant un différent usage de Miracast sur le téléphone IA.

La première application a pour but d'activer iQiyi afin de réaliser la fonction du « streaming vidéo en arrière plan ». Les utilisateurs peuvent envoyer des vidéos à un écran distant d'une résolution de 1080 pixels en utilisant une application iQiyi permettant le streaming en arrière plan tandis qu'ils peuvent naviguer hors de l'application et jouer une vidéo 1080 pixels sur l'écran local ou utiliser n'importe quelle autre application, y compris l'envoi de courriels ou l'accès à leur navigateur et ce sans aucune interruption de la lecture en arrière plan, comme montré ci-dessous :

Image non disponible
Figure 6: La fonction iQiyi video BGM

Figure 6: La fonction iQiyi video BGM

La seconde application a pour but d'activer le bureau WPS afin de réaliser la division de la fonction de l'interface utilisateur sur les deux affichages locaux et distants. Lors de la connexion à un téléviseur via l'affichage sans fil, l'application du bureau WPS peut montrer des diapositives PPT sur l'écran à distance tout en montrant des notes PPT sur l'écran du téléphone, ce qui est très pratique pour l'orateur. Nous prévoyons d'ajouter une minuterie sur l'écran du téléphone pour donner un rappel du temps pour l'orateur à l'avenir.

Image non disponible
Figure 7: la fonction de partage de l'interface du bureau WPS

Ces deuxusages différents sont développés en se basant sur le mode de présentation de Miracast, en utilisant la capacité matérielle du téléphone IA. Les deux applications ont été ajoutées à Intel AppUp ® pour les utilisateurs afin de les télécharger et les installer sur leurs téléphones.

IV. Cas d'étude : Comment activer les usages de différentiation d'un affichage double :

Dans cette section, je vais vous présenter comment réaliser une fonction du « streaming vidéo en arrière-plan » basée sur notre expérience d'activation d'une application iQiyi.

Comme nous le savons, afin de réaliser la fonction vidéo BGM, la principale difficulté est d'obtenir un service pour lire la vidéo en arrière-plan et traiter l'affichage de la surface ou sur la vidéo correctement. Lorsque l'utilisateur appuie sur la touche d'accueil, la vue de la surface ou l'affichage de la vidéo sera automatiquement détruit, donc nous devons appliquer un écran secondaire pour montrer le streaming vidéo en arrière plan. L'organigramme du programme est présenté ci-dessous :

Image non disponible
Figure 8: Organigramme du video streaming en arrière-plan

Pour créer un contenu unique pour un affichage secondaire, héritez la classe de présentation et implémentez la fonction onCreate (). Dans la fonction onCreate() précisez votre interface utilisateur pour l'affichage secondaire en appelant la fonction setContentView(). Dans le prolongement de la classe de dialogue, la classe de présentation fournit la région dans laquelle votre application peut afficher une interface utilisateur unique sur l'écran secondaire.

Il existe deux méthodes pour appliquer l'affichage secondaire pour votre présentation. Utilisez soit la bibliothèque DisplayManager ou la bibliothèque MediaRouter. La manière la plus simple de choisir l'affichage de la présentation est d'utiliser la bibliothèque MediaRouter. Ce service garde la trace des itinéraires audio et vidéo disponibles sur le système. Il recommande l'affichage de présentation préféré que l'application doit utiliser s'il veut afficher le contenu sur l'écran secondaire.

Voilà comment utiliser la bibliothèque MediaRouter pour créer et afficher une présentation sur l'afficheur de présentation utilisé par la fonction getPresentationDisplay ().

 
Sélectionnez
MediaRouter mediaRouter = (MediaRouter) context.getSystemService(Context.MEDIA_ROUTER_SERVICE);
MediaRouter.RouteInfo route = mediaRouter.getSelectedRoute();
if (route != null) {
     Display presentationDisplay = route.getPresentationDisplay();
     if (presentationDisplay != null) {
     Presentation presentation = new MyPresentation(context, presentationDisplay);
   presentation.show();
                                                     }
                             }

Autrement, pour choisir l'affichage de la présentation, on peut utiliser directement la bibliothèque DisplayManager.Ce service de gestionnaire d'affichage fournit des fonctions pour énumérer et décrire tous les écrans qui sont connectés au système, y compris les écrans qui peuvent être utilisés pour des présentations.

Le gestionnaire d'affichage conserve la trace de tous les écrans dans le système.

Voilà comment identifier les écrans appropriés pour afficher des présentations en utilisant la fonction getDisplays(String) et la catégorie DISPLAY_CATEGORY_PRESENTATION.

 
Sélectionnez
DisplayManager displayManager = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE);
Display[] presentationDisplays = displayManager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION);
if (presentationDisplays.length > 0) {
     Display display = presentationDisplays[0];
    Presentation presentation = new MyPresentation(context, presentationDisplay);
    presentation.show();
}

Les développeurs peuvent se référer au code de démonstration de la présentation dans Android SDK comme montré ci-dessous :

\ sdk \ sources \ android-17 \ android \ app \ Presentation.java

V. Conclusion

Outre le point de vente Intel Inside ® pour les téléphones et tablettes basés sur l'IA, la fonction d'affichage sans fil peut devenir un point clé. Les éditeurs de logiciels devraient prendre connaissance et développer des usages plus innovants basés sur l'affichage sans fil, en particulier les usages du double affichage.

VI. Références