【问题标题】:How to play youtube video in flutter?如何在颤振中播放 youtube 视频?
【发布时间】:2020-03-02 19:45:15
【问题描述】:

如何在 Flutter 中播放 youtube 视频?

我尝试了两个插件,但其中有一些错误。

youtube_player 插件 (https://pub.dev/packages/youtube_player) 为某些视频提供 exoPlayer 错误,并且这些视频无法使用此插件播放(请参阅 https://github.com/sarbagyastha/youtube_player/issues/42)。

youtube_player_flutter 插件 (https://pub.dev/packages/youtube_player_flutter) 存在严重错误,暂时无法使用。

还有其他选择吗?

【问题讨论】:

  • @AndreiCaisim - 咀嚼插件需要可播放的视频源链接。因此,需要获取 Youtube 视频的直接视频源。另外,我需要有视频质量更改选项。这在chewie 中不受支持。

标签: android firebase flutter firebase-cloud-messaging


【解决方案1】:

您可以尝试使用 video_player (https://pub.dev/packages/video_player)

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

void main() => runApp(VideoApp());

class VideoApp extends StatefulWidget {
  @override
  _VideoAppState createState() => _VideoAppState();
}

class _VideoAppState extends State<VideoApp> {
  VideoPlayerController _controller;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.network(
        'youtubevideolink')
      ..initialize().then((_) {
        setState(() {
           // do stuff
        });
      });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Video Demo',
      home: Scaffold(
        body: Center(
          child: _controller.value.initialized
              ? AspectRatio(
                  aspectRatio: _controller.value.aspectRatio,
                  child: VideoPlayer(_controller),
                )
              : Container(),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: () {
            setState(() {
              _controller.value.isPlaying
                  ? _controller.pause()
                  : _controller.play();
            });
          },
          child: Icon(
            _controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
          ),
        ),
      ),
    );
  }

  @override
  void dispose() {
    super.dispose();
    _controller.dispose();
  }
}

【讨论】:

  • 现在试过了,不行。请更新。
  • 它不起作用。您无法使用默认的 exoplayer 直接播放 youtube-video。
猜你喜欢
  • 2022-06-21
  • 1970-01-01
  • 2021-08-16
  • 2021-10-10
  • 2020-12-30
  • 2021-09-13
  • 2021-04-03
  • 2021-10-28
  • 1970-01-01
相关资源
最近更新 更多