Vidéo en streaming dans les applications Android

La plate-forme Android fournit des bibliothèques que vous pouvez utiliser pour diffuser des fichiers multimédias, tels que des vidéos distantes, en les présentant pour les lire dans vos applications. Dans ce didacticiel, nous allons diffuser un fichier vidéo en l’affichant à l’aide du VideoView composant avec un MediaController objet pour permettre à l’utilisateur de contrôler la lecture.

Nous passerons également brièvement en revue le processus de présentation de la vidéo à l’aide du MediaPlayer classer. Si vous avez terminé le série sur la création d’un lecteur de musique pour Android, vous pouvez utiliser ce que vous avez appris dans ce didacticiel pour l’améliorer davantage. Vous devriez pouvoir suivre ce didacticiel si vous avez déjà développé au moins quelques applications Android.

Option Premium

Si vous voulez une solution toute faite, consultez YoVideo, un modèle d’application Android pour créer un magnifique lecteur vidéo mobile pour smartphone Android.

Les utilisateurs peuvent visionner des vidéos, suivre et partager avec leurs amis sur Facebook. L’utilisation de ce modèle d’application vous fera gagner du temps et de l’argent lors de la création d’une application de partage vidéo.

YoVideo sur Envato Market
YoVideo sur Envato Market

Ou vous pouvez embaucher un Développeur Android pour créer une solution personnalisée pour vous. Sinon, lisez la suite pour savoir comment le faire vous-même.

1. Créer une nouvelle application

Étape 1

Vous pouvez utiliser le code de ce didacticiel pour améliorer une application existante sur laquelle vous travaillez ou vous pouvez créer une nouvelle application maintenant dans Eclipse ou Android Studio. Créez un nouveau projet Android, donnez-lui un nom de votre choix, configurez les détails, et donnez-lui une première main Activity classe et mise en page.

Étape 2

Commençons par configurer le manifeste du projet pour le streaming multimédia. Ouvrez le fichier manifeste de votre projet et passez à l’édition XML dans votre IDE. Pour le streaming multimédia, vous avez besoin d’un accès Internet, alors ajoutez l’autorisation suivante dans le manifest élément:

2. Ajouter VideoView

Étape 1

La plate-forme Android fournit le VideoView classer dans lequel vous pouvez lire des fichiers vidéo. Ajoutons-en un au fichier de mise en page principal:

Modifiez la mise en page parent pour l’adapter à votre propre application si nécessaire. Nous donnons le VideoView exemple un id attribut afin que nous puissions nous y référer plus tard. Vous devrez peut-être ajuster les autres propriétés de mise en page pour votre propre conception.

Étape 2

Récupérons maintenant une référence au VideoView instance dans le code. Ouvrez le menu principal de votre application Activity class et ajoutez les importations supplémentaires suivantes:

En relation :  Les 12 meilleures applications de référence pour rechercher n'importe quoi lors de vos déplacements

Ton Activity la classe doit déjà contenir le onCreate méthode dans laquelle la vue du contenu est définie:

Après le setContentView ligne, obtenons une référence à la VideoView comme suit, en utilisant le id nous définissons dans la mise en page XML:

3. Diffuser un fichier vidéo

Étape 1

Maintenant, nous pouvons diffuser un fichier vidéo sur l’application. Préparez l’URI du point de terminaison comme suit:

Vous devrez bien sûr utiliser l’adresse distante du fichier vidéo que vous souhaitez diffuser. L’exemple ici est un fichier vidéo du domaine public hébergé sur le Archives Internet. Nous analysons la chaîne d’adresse en tant qu’URI afin de pouvoir la transmettre au VideoView objet:

Maintenant, vous pouvez simplement démarrer la lecture:

Le système d’exploitation Android prend en charge une gamme de formats vidéo et multimédia, chaque appareil prenant souvent en charge des formats supplémentaires.

Comme vous pouvez le voir dans le Guide du développeur, les formats de fichiers vidéo pris en charge incluent 3GP, MP4, WEBM et MKV, selon le format utilisé et le niveau de plate-forme installé par l’utilisateur.

Les formats de fichiers audio pour lesquels vous pouvez vous attendre à une prise en charge intégrée incluent MP3, MID, OGG et WAV. Vous pouvez diffuser du contenu multimédia sur Android via RTSP, HTTP et HTTPS (à partir d’Android 3.1).

4. Ajouter des commandes de lecture

Étape 1

Nous avons implémenté la lecture vidéo, mais l’utilisateur s’attendra et sera habitué à en avoir le contrôle. Encore une fois, la plate-forme Android fournit des ressources pour gérer cela en utilisant une interaction familière via le MediaController classer.

Dans votre Activity classe onCreate méthode, avant la ligne dans laquelle vous appelez start sur le VideoView, créez une instance de la classe:

Ensuite, configurez-le pour utiliser le VideoView instance comme son ancre:

Et enfin, définissez-le comme contrôleur multimédia pour le VideoView objet:

Lorsque vous exécutez l’application maintenant, l’utilisateur doit être en mesure de contrôler la lecture de la vidéo en streaming, y compris les boutons d’avance rapide et de retour rapide, un bouton de lecture / pause et un contrôle de la barre de recherche.

La commande de la barre de recherche est accompagnée de la longueur du fichier multimédia à droite et de la position de lecture actuelle à gauche. En plus de pouvoir appuyer sur la barre de recherche pour accéder à une position dans le fichier, l’état de la diffusion en continu est indiqué en utilisant le même type d’affichage auquel l’utilisateur sera habitué à partir de sites et d’applications comme YouTube.

En relation :  Comment accélérer Android: ce qui fonctionne et ce qui ne fonctionne pas

Comme vous le verrez lorsque vous exécuterez l’application, le comportement par défaut est que les commandes disparaissent après quelques instants, réapparaissant lorsque l’utilisateur touche l’écran. Vous pouvez configurer le comportement du MediaController objet de diverses manières. Voir le série sur la création d’une application de lecteur de musique pour Android pour un exemple de la façon de procéder. Vous pouvez également améliorer la lecture multimédia en implémentant divers écouteurs pour configurer le comportement de votre application.

5. Utilisant MediaPlayer

Étape 1

Avant de terminer, passons en revue une approche alternative pour la diffusion de vidéos en utilisant le MediaPlayer classe, puisque nous l’avons utilisé dans le série sur la création d’un lecteur de musique. Vous pouvez diffuser des contenus multimédias, y compris des vidéos, sur un MediaPlayer objet utilisant une vue de surface. Par exemple, vous pouvez utiliser la disposition suivante:

Nous ferons référence à la SurfaceView dans la mise en œuvre du Activity classer.

Étape 2

Dans votre Activity class, ajoutez les interfaces suivantes:

Votre IDE devrait vous inviter à ajouter ces méthodes non implémentées:

Nous ajouterons à la surfaceCreated et onPrepared méthodes.

Étape 3

Pour implémenter la lecture, ajoutez les variables d’instance suivantes à la classe:

Dans le Activityde onCreate , vous pouvez ensuite commencer à instancier ces variables à l’aide de la méthode SurfaceView objet que vous avez ajouté à la mise en page:

Étape 4

Dans le surfaceCreated méthode, configurez vos ressources de lecture multimédia:

Enfin, dans le onPrepared méthode, lancez la lecture:

Votre vidéo doit maintenant être lue dans le MediaPlayer instance lorsque vous exécutez l’application.

Conclusion

Dans ce didacticiel, nous avons décrit les bases de la diffusion vidéo en continu sur Android à l’aide du VideoView et MediaPlayer Des classes. Vous pouvez ajouter de nombreuses améliorations au code que nous avons implémenté ici, par exemple en intégrant la prise en charge de la vidéo ou du streaming multimédia dans l’application de lecteur de musique que nous avons créée. Vous pouvez également consulter les ressources associées pour Android telles que le API du lecteur YouTube pour Android.

Moyens Staff
Moyens I/O Staff vous a motivé, donner des conseils sur la technologie, le développement personnel, le style de vie et des stratégies qui vous aider.