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

パッケージ詳細v1.0.3

flutter_video_cast

flutter_video_cast を使用すると、Chromecast や Apple TV などのキャストデバイスを検出して接続できます。

30日間ダウンロード
34
いいね数
50
Pub ポイント
40

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

flutter pub add flutter_video_cast

パッケージ概要

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

flutter_video_cast は、Chrome Cast や Apple TV などのキャストデバイスの検出と接続を可能にする Flutter パッケージです。Flutter アプリから互換性のある表示デバイスに動画コンテンツをストリーミングできるようにし、スマートテレビやストリーミングハードウェア間でのメディア共有を向上させます。既存の Flutter プロジェクトにシームレスに統合でき、デバイス検出およびセッション管理をサポートします。大きな画面に再生を拡張したいメディア中心のアプリを開発する開発者にとって理想的です。

用途

  • スマートテレビへのストリーミング動画
  • リモート再生制御
  • モバイルアプリからのメディアキャスティング
  • ライブビデオミラーリング
  • マルチデバイス互換性
  • クロスプラットフォームのキャスティング

主な機能

  • デバイスの検出
  • キャストセッション管理
  • Chrome Cast および Apple TV のサポート
  • Flutter との簡単な統合
  • リアルタイムデバイス状態の更新
  • クロスプラットフォーム機能

適している対象

  • メディアおよびエンターテインメントアプリ
  • スマートホームの統合
  • ビデオ会議ツール
  • 教育コンテンツプラットフォーム
  • IoTデバイスコントローラー
  • 画面ミラーリングを必要とするアプリ

注意事項

  • 互換性のあるキャストデバイスが必要です
  • ネットワーク接続は必須です
  • サポートされているプラットフォームに限定
  • 追加の権限が必要になる場合があります
  • 外部SDKに依存しています
  • 組み込みのメディアプレーヤーなし

元の README

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

flutter_video_cast

A Flutter plugin for iOS and Android for connecting to cast devices like Chromecast and Apple TV.

Installation

First, add flutter_video_cast as a dependency in your pubspec.yaml file.

iOS

Set the minimum os target to iOS 11.0.

Initialize the Cast context in the application delegate ios/Runner/AppDelegate.m:

import UIKit
import Flutter
import GoogleCast

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate, GCKLoggerDelegate {
    let kReceiverAppID = kGCKDefaultMediaReceiverApplicationID
    let kDebugLoggingEnabled = true

    override func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        GeneratedPluginRegistrant.register(with: self)
        let criteria = GCKDiscoveryCriteria(applicationID: kReceiverAppID)
        let options = GCKCastOptions(discoveryCriteria: criteria)
        GCKCastContext.setSharedInstanceWith(options)
        GCKCastContext.sharedInstance().useDefaultExpandedMediaControls = true
        GCKLogger.sharedInstance().delegate = self
        return super.application(application, didFinishLaunchingWithOptions: launchOptions)
    }
}

Opt-in to the embedded views preview by adding a boolean property to the app's Info.plist file with the key io.flutter.embedded_views_preview and the value YES.

Android

Add dependencies in your module (app-level) Gradle file (usually android/app/build.gradle):

implementation 'com.google.android.gms:play-services-cast-framework:19.0.0'
implementation 'com.google.android.exoplayer:extension-cast:2.11.5'

Set the theme of the MainActivity to @style/Theme.AppCompat.NoActionBar in the application manifest android/app/src/main/AndroidManifest.xml:

<manifest ...
  <application ...
    <meta-data android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
               android:value="com.google.android.exoplayer2.ext.cast.DefaultCastOptionsProvider"/>
    ...
    <activity android:theme="@style/Theme.AppCompat.NoActionBar" ...

Make MainActivity extends FlutterFragmentActivity and initialize the Cast context:

CastContext.getSharedInstance(applicationContext)
Both

You can now add a ChromeCastButton widget to your widget tree.

The button can be controlled with the ChromeCastController that is passed to the ChromeCastButton's onButtonCreated callback.

import 'package:flutter/material.dart';
import 'package:flutter_video_cast/flutter_video_cast.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: CastSample(),
    );
  }
}


class CastSample extends StatefulWidget {
  @override
  _CastSampleState createState() => _CastSampleState();
}

class _CastSampleState extends State<CastSample> {
  ChromeCastController _controller;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Cast Sample'),
        actions: [
          ChromeCastButton(
            onButtonCreated: (controller) {
              setState(() => _controller = controller);
              _controller?.addSessionListener();
            },
            onSessionStarted: () {
              _controller?.loadMedia('https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4');
            },
          ),
        ],
      ),
    );
  }
}

See the example directory for a complete sample app.

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

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

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