Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在Flatter中播放youtube视频?_Android_Firebase_Flutter_Firebase Cloud Messaging - Fatal编程技术网

Android 如何在Flatter中播放youtube视频?

Android 如何在Flatter中播放youtube视频?,android,firebase,flutter,firebase-cloud-messaging,Android,Firebase,Flutter,Firebase Cloud Messaging,如何在Flatter中播放youtube视频 我尝试了两个插件,但其中有一些错误 youtube\u playerplugin()为某些视频提供了exoPlayer错误&这些视频未使用此插件播放(请参阅) youtube\u player\u flatterplugin()有严重的漏洞&目前无法使用 还有其他选择吗?您可以尝试使用视频播放器() import'package:video_player/video_player.dart'; 进口“包装:颤振/材料.省道”; void main()

如何在Flatter中播放youtube视频

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

youtube\u playerplugin()为某些视频提供了exoPlayer错误&这些视频未使用此插件播放(请参阅)

youtube\u player\u flatterplugin()有严重的漏洞&目前无法使用


还有其他选择吗?

您可以尝试使用视频播放器()

import'package:video_player/video_player.dart';
进口“包装:颤振/材料.省道”;
void main()=>runApp(VideoApp());
类VideoApp扩展了StatefulWidget{
@凌驾
_VideoAppState createState()=>\u VideoAppState();
}
类\u VideoAppState扩展了状态{
视频播放控制器\u控制器;
@凌驾
void initState(){
super.initState();
_控制器=VideoPlayerController.network(
“youtubevideolink”)
…初始化()。然后(u41;{
设置状态(){
//做事
});
});
}
@凌驾
小部件构建(构建上下文){
返回材料PP(
标题:“视频演示”,
家:脚手架(
正文:中(
子项:_controller.value.initialized
?AspectRatio(
aspectRatio:_controller.value.aspectRatio,
子项:视频播放器(_控制器),
)
:Container(),
),
浮动操作按钮:浮动操作按钮(
已按下:(){
设置状态(){
_controller.value.isPlaying
?_控制器暂停()
:_controller.play();
});
},
子:图标(
_controller.value.isplay?图标。暂停:图标。播放箭头,
),
),
),
);
}
@凌驾
无效处置(){
super.dispose();
_controller.dispose();
}
}

试试。@Andreicasim-Chuie插件需要可播放的视频源链接。因此,需要获得Youtube视频的直接视频源。此外,我需要有视频质量的改变选项。这在Chuie中不受支持。现在尝试,它不起作用。请更新。
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();
  }
}