パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v2.1.0

y_player

YPlayer は、使いやすい YouTube 動画プレイヤー ウィジェットを提供する Flutter パッケージです

AndroidiOSmacOSWindowsLinux
30日間ダウンロード
132
いいね数
27
Pub ポイント
150

パッケージをインストール

flutter pub add y_player

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

YPlayer は、Flutter アプリケーションに YouTube ビデオを簡単に統合できる Flutter パッケージです。複数のプラットフォームで YouTube コンテンツをスムーズに埋め込み、再生するためのカスタマイズ可能なビデオプレーヤー ウィジェットを提供します。最小限のセットアップで、ビデオ ID または URL を使用して YouTube ビデオを表示でき、レスポンシブデザインと基本的な再生コントロールをサポートしています。パッケージは各プラットフォームのネイティブ YouTube プレーヤーを利用しており、最適なパフォーマンスと互換性を実現しています。

用途

  • アプリにYouTube動画を埋め込む
  • 教育コンテンツプレイヤーの作成
  • メディア豊富なFlutterアプリケーションの構築
  • ビデオチュートリアルの統合
  • ストリーミングまたはエンタメアプリの開発

主な機能

  • 動画IDまたはURLを使用したシンプルな動画埋め込み
  • Android、iOS、macOS、Windows、Linux のサポート
  • 応答性がありカスタマイズ可能なプレイヤーUI
  • 組み込み再生コントロール
  • ネイティブYouTubeプレーヤー統合

適している対象

  • メディアアプリを構築するFlutter開発者
  • 教育アプリの作成者
  • 動画ライブラリを備えたコンテンツプラットフォーム
  • YouTube動画再生を必要とするアプリ

注意事項

  • 動画の読み込みにはインターネット接続が必要です
  • 基本的なコントロールを超えるカスタマイズは限られている
  • YouTubeのAPIの利用可能性に依存します
  • 特定のプラットフォームでは、追加の権限が必要になる場合があります
  • オフライン動画再生には適していません

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

YPlayer

Pub

Logo

YPlayer is a Flutter package that provides an easy-to-use YouTube video player widget. It leverages the power of the youtube_explode_dart package for fetching video information.

Features

  • Play YouTube videos directly in your Flutter app
  • Support for fullscreen mode
  • Optional autoplay
  • Video Quality selection
  • Playback speed control
  • Customizable loading and error widgets
  • Easy to use API with play, pause, and stop functionality
  • Callback support for player state changes and progress updates
  • Customizable progress bar colors
  • Improved handling of app lifecycle changes and fullscreen mode
  • Enhanced error handling and recovery
  • Separate handling of video and audio streams for better quality

Installation

Add y_player to your pubspec.yaml file:

dependencies:
  y_player: ^2.0.0

Then run:

flutter pub get

Usage

First, ensure that you initialize the YPlayer in your main.dart:

import 'package:flutter/material.dart';
import 'package:y_player/y_player_main.dart';

void main() {
  YPlayerInitializer.ensureInitialized();
  runApp(MyApp());
}

Here's a simple example of how to use YPlayer in your Flutter app:

import 'package:flutter/material.dart';
import 'package:y_player/y_player_main.dart';

class MyVideoPlayer extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('YPlayer Example')),
      body: YPlayer(
        youtubeUrl: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
        onStateChanged: (status) {
          print('Player Status: $status');
        },
        onProgressChanged: (position, duration) {
          print('Progress: ${position.inSeconds}/${duration.inSeconds}');
        },
        onControllerReady: (controller) {
          print('Controller is ready!');
        },
      ),
    );
  }
}

Migrating to 2.0.0

Version 2.0.0 introduces significant changes to address the deprecation of muxed streams in YouTube and to improve overall performance. Here are the key changes:

To migrate your existing code:

  1. Update your pubspec.yaml to use version 2.0.0 or later of y_player.

  2. In your main.dart, add the initialization call:

void main() {
  YPlayerInitializer.ensureInitialized();
  runApp(MyApp());
}
  1. Update your YPlayer widget usage. The basic usage remains the same, but some properties have changed:
YPlayer(
  youtubeUrl: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
  color: Colors.red, // New property for customizing controls color
  // materialProgressColors and cupertinoProgressColors are no longer available
)
  1. If you were using ChewieController directly, you'll need to update to use YPlayerController instead.

These changes address the deprecation of muxed streams in YouTube and provide a more robust and efficient video playback experience. The separate handling of video and audio streams allows for better quality options and more flexibility in playback.

API Reference

YPlayer

Constructor:

YPlayer({
  Key? key,
  required String youtubeUrl,
  double? aspectRatio,
  bool autoPlay = true,
  Color? color,
  Widget? placeholder,
  Widget? loadingWidget,
  Widget? errorWidget,
  YPlayerStateCallback? onStateChanged,
  YPlayerProgressCallback? onProgressChanged,
  Function(YPlayerController controller)? onControllerReady,
})
YPlayerController

Methods:

  • play(): Starts or resumes video playback.
  • pause(): Pauses video playback.
  • stop(): Stops video playback and resets to the beginning.

Properties:

  • status: Gets the current status of the player (YPlayerStatus enum).
  • position: Gets the current playback position (Duration).
  • duration: Gets the total duration of the video (Duration).
  • isInitialized: Returns true if the player is fully initialized.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

カテゴリー

依存関係

依存関係一覧 4 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。