Fermer

mars 25, 2020

Comment utiliser le MediaElement dans Xamarin.Forms


Nous explorons le MediaElement dans Xamarin.Forms – une nouvelle façon d'inclure facilement l'audio et la vidéo dans vos applications Xamarin.Forms.

Vous cherchez un moyen simple d'inclure des médias audio et vidéo dans votre application Xamarin.Forms? Jetez un œil au nouveau contrôle, actuellement "expérimental", le MediaElement. Ce contrôle, disponible dans la v.4.5, affiche un lecteur multimédia sur votre page, ainsi que les contrôles du système d'exploitation par défaut. Alternativement, vous pouvez fournir votre propre interface utilisateur et obtenir l'apparence exacte que vous souhaitez.

Définir les indicateurs

Comme ce contrôle est toujours en prévisualisation, vous devrez vous inscrire pour l'utiliser. Définissez simplement l'indicateur suivant dans votre app.xaml.cs avant l'appel à InitializeComponent () :

 Device.SetFlags (nouvelle chaîne [] {"MediaElement_Experimental"}) ;

Paramètres d'affichage

Les propriétés d'affichage de MediaElement incluent VideoHeight, VideoWidth et une propriété Aspect qui fonctionne à peu près comme un élément Image. Ainsi, AspectFill conservera l'aspect source, remplissant toute la hauteur et la largeur mais peut saigner à l'extérieur, tandis que AspectFit conservera également l'aspect source, mais s'adaptera à la hauteur et à la largeur du contrôle . Remplir remplira la hauteur et la largeur quel que soit l'aspect.

URI ou sources locales

La propriété Source peut être définie sur un URI ou un chemin local si vous souhaitez incorporer le média dans votre package d'application:


ou


Si vous suivez avec votre propre application, sachez que la vidéo dans l'exemple de code fait 250 Mo, donc vous voudrez peut-être vous assurer que vous êtes sur WiFi.

(Les VerticalOptions sont nécessaires au moment de la rédaction en raison d'un problème de mise en page – vous pouvez le trouver inutile, selon votre version spécifique.)

Notez l'utilisation du "ms -appx "pour la source locale et les emplacements suivants si vous utilisez un média local:

  • Sur iOS, les fichiers multimédias doivent être stockés dans le dossier Resources ou un sous-dossier du dossier Resources. Le fichier multimédia doit avoir une action de génération de BundleResource.
  • Sur Android, les fichiers multimédias doivent être stockés dans un sous-dossier de ressources nommé raw. Le dossier brut ne peut pas contenir de sous-dossiers. Le fichier multimédia doit avoir une action de génération d'AndroidResource.
  • Sur UWP, les fichiers multimédias peuvent être stockés dans n'importe quel dossier du projet.

Par défaut, le média commence à jouer dès qu'il est chargé, donc si c'est tout ce dont vous avez besoin, vous avez terminé!

 Support chargé

In Control

Par défaut, les contrôles multimédias natifs de la plate-forme seront utilisés, mais c'est assez simple pour éviter cela si vous souhaitez fournir les vôtres.

Définissez ShowPlaybackControls = "False" et utilisez les méthodes Play () Pause () et Stop () pour contrôler la lecture avec vos propres boutons.

Vous pouvez encore affiner l'expérience. en utilisant des propriétés supplémentaires:

  • La lecture automatique spécifie si le média commencera automatiquement la lecture au chargement
  • Volume contrôle le volume
  • CanSeek spécifie si la recherche est activée
  • IsLooping contrôle la répétition automatique à la fin de la lecture [1 9659017] Vous pouvez également vous connecter à une sélection d'événements qui vous aideront à peaufiner votre application. Vous pouvez les utiliser pour piloter des indicateurs de chargement ou des commandes de lecture personnalisées:

    • Ouverture lorsque le contrôle tente d'ouvrir et de valider la source
    • Mise en mémoire tampon le média se charge
    • Lecture le média est en cours de lecture
    • En pause la lecture est interrompue et le contrôle affiche l'image actuelle
    • Arrêté Arrêté le le contrôle contient un média mais n'est pas en cours de lecture ou en pause; dans cet état, le contrôle affichera le premier cadre
    • Fermé un cadre transparent est affiché car le contrôle n'a pas de support

    Garder les lumières allumées

    Il y a une autre propriété que vous pouvez trouver utile – KeepScreenOn . Réglez ce paramètre sur True et l'appareil devrait garder l'écran allumé pendant la lecture.

    Récapitulatif

    Le MediaElement facilite vraiment la lecture de vos médias dans vos applications multiplates-formes. Consultez les documents officiels pour plus d'informations.





Source link