[ad_1]

LE FLUTTER DU LECTEUR YOUTUBE

forfait pub
Statut de construction
Licence
Télécharger
Étoiles
Top Langue
fléchette efficace

Plugin Flutter pour lire ou diffuser des vidéos YouTube en ligne à l’aide de l’officiel API du lecteur iFrame.

Plates-formes prises en charge :

  • Android
  • iOS
    Pour l’assistance Web, utilisez youtube_player_iframe. À l’avenir, ce package étendra youtube_player_iframe.

DÉMO

Principales caractéristiques

  • Lecture en ligne
  • Prend en charge les sous-titres
  • Pas besoin de clé API
  • Prend en charge les contrôles personnalisés
  • Récupère les métadonnées vidéo
  • Prend en charge les vidéos en direct
  • Prend en charge la modification du taux de lecture
  • Prise en charge d’Android et d’iOS
  • S’adapte à la qualité selon la bande passante
  • Avance et retour rapides sur glissement horizontal
  • Adapter les vidéos aux écrans larges avec des gestes de pincement

Le plugin utilise flutter_inappwebview sous la capuche.

Depuis flutter_inappwebview s’appuie sur le mécanisme de Flutter pour intégrer les vues Android et iOS, ce plugin peut partager certains problèmes connus marqués avec le plates-formes-vues étiquette.

Conditions

  • Android: minSdkVersion 17 et ajouter un support pour androidx (voir Migration AndroidX)
  • iOS : --ios-language swiftversion Xcode >= 11

Installer

iOS

Aucune configuration requise

Pour plus d’informations, vois ici

Android

Régler minSdkVersion de votre android/app/build.gradle fichier à au moins 17.

Pour plus d’informations, vois ici

Noter: Bien que le minimum à définir soit 17, le lecteur ne jouera pas sur un appareil avec une API < 20 (19 si la composition hybride est activée). Pour les appareils API < 20, vous souhaiterez peut-être transférer la vidéo à lire à l'aide de l'application YouTube à la place, en utilisant des packages tels que url_launcher ou android_intent.

Utilisation du lecteur Youtube

YoutubePlayerController _controller = YoutubePlayerController(
    initialVideoId: 'iLnmTe5Q2Qw',
    flags: YoutubePlayerFlags(
        autoPlay: true,
        mute: true,
    ),
);

YoutubePlayer(
    controller: _controller,
    showVideoProgressIndicator: true,
    videoProgressIndicatorColor: Colors.amber,
    progressColors: ProgressColors(
        playedColor: Colors.amber,
        handleColor: Colors.amberAccent,
    ),
    onReady () {
        _controller.addListener(listener);
    },
),

Pour la prise en charge plein écran

Si la prise en charge du plein écran est requise, enveloppez votre lecteur avec YoutubePlayerBuilder

YoutubePlayerBuilder(
    player: YoutubePlayer(
        controller: _controller,
    ),
    builder: (context, player){
        return Column(
            children: [
                // some widgets
                player,
                //some other widgets
            ],
        );
    ),
),

Lecture de vidéos en direct

Définissez la propriété isLive sur true afin de modifier l’interface utilisateur pour qu’elle corresponde à la vidéo en direct.

Démo de l'interface utilisateur en direct

YoutubePlayerController _controller = YoutubePlayerController(
    initialVideoId: 'iLnmTe5Q2Qw',
    flags: YoutubePLayerFlags(
      isLive: true,
    ),
);

YoutubePlayer(
    controller: _controller,
    liveUIColor: Colors.amber,
),

Vous voulez personnaliser le lecteur ?

Avec v5.xx et plus, utilisez le topActions et bottomActions propriétés pour personnaliser le lecteur.

Certains des widgets fournis avec le plugin sont :

  • Bouton Plein écran
  • Durée restante
  • Position actuelle
  • PlayPauseButton
  • Bouton de vitesse de lecture
  • Barre de progression
YoutubePlayer(
    controller: _controller,
    bottomActions: [
      CurrentPosition(),
      ProgressBar(isExpanded: true),
      TotalDuration(),
    ],
),

Vous voulez jouer en utilisant les URL Youtube ?

Le plugin fournit également convertUrlToId() méthode qui convertit les liens youtube en ses identifiants vidéo correspondants.

String videoId;
videoId = YoutubePlayer.convertUrlToId("https://www.youtube.com/watch?v=BBAyRBTfsOU");
print(videoId); // BBAyRBTfsOU

Exemple

Exemple détaillé

Liens rapides

Télécharger

Téléchargez les APK ci-dessus (dans le badge) et essayez le plugin. Les APK sont disponibles sur la page de publication Assets of Github.

Limitation

Étant donné que le plugin est basé sur des vues de plate-forme. Ce plugin nécessite le niveau 20 ou supérieur de l’API Android.

Licence

Copyright 2021 Sarbagya Dhaubanjar. All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

GitHub

Voir Github

[ad_2]

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Instagram

Ce message d’erreur n’est visible que pour les administrateurs de WordPress

Erreur. Aucun flux trouvé.

Veuillez aller sur la page de réglages d‘Instagram Feed pour connecter votre compte.