Flutter网页YouTube视频播放插件weklem_web_youtube_player的使用

发布于 1周前 作者 bupafengyu 来自 Flutter

Flutter网页YouTube视频播放插件weklem_web_youtube_player的使用

WeKlem Web YouTube Player

这个Flutter网页包允许你轻松地嵌入YouTube视频。

特性

  • 使用YouTube分享链接直接嵌入YouTube视频。
  • 响应式设计,适用于网页和移动浏览器。
  • 广泛的播放控制和自定义选项。

开始使用

前提条件

  • Flutter(版本3及以上)
  • Dart(版本3.1及以上)

安装

在你的pubspec.yaml文件中添加以下依赖:

dependencies:
  weklem_web_youtube_player: ^0.0.2

然后运行:

flutter pub get

使用

要嵌入YouTube视频,只需使用YouTubePlayerWidget

YouTubePlayerWidget(
  youtubeLink: 'YOUR_YOUTUBE_SHARE_LINK',
  width: 480,
  height: 259,
  eScrollMode: EScrollMode.SCROLL,
  scrollController: SC,
)

YOUR_YOUTUBE_SHARE_LINK替换为你从YouTube获取的实际分享链接。

示例代码

以下是一个完整的示例,展示了如何在Flutter应用中使用weklem_web_youtube_player插件:

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

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // 这个小部件是你的应用的根
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  [@override](/user/override)
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    var SC = ScrollController();

    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: SingleChildScrollView(
        controller: SC,
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: [
              Container(
                child: YouTubePlayerWidget(
                  youtubeLink: 'https://youtu.be/PecI6paDQxI?si=ek86w2Nuo1OTJAfM',
                  width: 480,
                  height: 259,
                  eScrollMode: EScrollMode.SCROLL,
                  scrollController: SC,
                ),
              ),
              Text(
                'YouTube 测试',
              ),
              Container(height: 100, color: Colors.red),
              // YouTube 播放器小部件
              Container(height: 1000,)
            ],
          ),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}

更多关于Flutter网页YouTube视频播放插件weklem_web_youtube_player的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter网页YouTube视频播放插件weklem_web_youtube_player的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中集成和使用weklem_web_youtube_player插件来播放YouTube视频的示例代码。这个插件主要用于在Flutter的Web平台上播放YouTube视频。

1. 添加依赖

首先,在你的pubspec.yaml文件中添加weklem_web_youtube_player依赖:

dependencies:
  flutter:
    sdk: flutter
  weklem_web_youtube_player: ^最新版本号  # 请替换为实际的最新版本号

然后运行flutter pub get来安装依赖。

2. 导入插件

在你需要播放YouTube视频的Dart文件中导入插件:

import 'package:weklem_web_youtube_player/weklem_web_youtube_player.dart';

3. 使用插件

下面是一个简单的示例,展示如何在Flutter Web应用中嵌入并播放YouTube视频:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'YouTube Video Player Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: YouTubePlayerScreen(),
    );
  }
}

class YouTubePlayerScreen extends StatefulWidget {
  @override
  _YouTubePlayerScreenState createState() => _YouTubePlayerScreenState();
}

class _YouTubePlayerScreenState extends State<YouTubePlayerScreen> {
  final String videoId = '你的YouTube视频ID';  // 替换为你的YouTube视频ID

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('YouTube Video Player'),
      ),
      body: Center(
        child: YouTubePlayerWidget(
          videoId: videoId,
          params: YouTubePlayerParams(
            start: 10,  // 视频开始播放的时间(秒)
            enableJsApi: true,  // 是否启用JavaScript API
            showRelatedVideos: false,  // 是否显示相关视频
          ),
          listener: (event) {
            if (event is YouTubePlayerStateChanged) {
              // 处理视频状态变化
              print('Player state changed: ${event.data}');
            }
          },
        ),
      ),
    );
  }
}

4. 运行应用

确保你在Flutter的Web环境中运行这个应用。使用以下命令:

flutter run -d chrome

或者,如果你使用的是其他Web浏览器,可以替换chromeedgesafari等。

注意事项

  1. 视频ID:确保你替换videoId变量中的值为有效的YouTube视频ID。
  2. 平台支持weklem_web_youtube_player插件目前仅支持Flutter Web平台。
  3. API权限:如果你打算使用JavaScript API进行更多控制,请确保你的YouTube视频或频道已启用这些权限。

这个示例展示了如何在Flutter Web应用中集成weklem_web_youtube_player插件并播放YouTube视频。根据你的需求,你可以进一步自定义和扩展这个示例。

回到顶部