Android 如何在Flatter中播放youtube视频?
如何在Flatter中播放youtube视频 我尝试了两个插件,但其中有一些错误 youtube\u playerplugin()为某些视频提供了exoPlayer错误&这些视频未使用此插件播放(请参阅) youtube\u player\u flatterplugin()有严重的漏洞&目前无法使用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()
还有其他选择吗?您可以尝试使用视频播放器()
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();
}
}