我正在制作一个页面来显示来自 youtube 的大量视频,并在颤振网络中使用ext_video_player。但现在我想启用显示控件。我也希望它可以用于应用程序。我在这个堆栈中看到了流帖子。但是咀嚼播放器说它需要来自 video_player 而不是 ext_video_player 的视频控制器播放器。有没有其他方法可以做到这一点,以便它既适用于 Flutter Web 和应用程序,也适用于 youtube 视频。由于某些原因,youtube 播放器插件不是一种选择。我什至无法做到这一点。使用 rn 的代码
class videoBox2 extends StatefulWidget {
String Video;
videoBox2(this.Video);
@override
_videoBox2State createState() => _videoBox2State(Video);
}
class _videoBox2State extends State<videoBox2> {
String Video;
bool error = false;
_videoBox2State(this.Video);
VideoPlayerController _controller;
@override
void dispose(){
super.dispose();
_controller.dispose();
}
@override
void initState(){
super.initState();
_controller = VideoPlayerController.network(
Video,
);
_controller.initialize().then((value) {
setState(() {
});
});
_controller.addListener(() {
if (_controller.value.hasError) {
setState(() {
error = true;
print(Video);
});
}
});
}
@override
Widget build(BuildContext context) {
return error?Container(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(15))
),
child: Image(fit:BoxFit.cover,image:NetworkImage("https://hiapseng-thailand.com/wp-content/themes/skywalker/facilities/video-placeholder.jpg"))
):GestureDetector(
onTap:(){
_controller.value.isPlaying?
_controller.pause()
:_controller.play();
},
child: Container(
width:MediaQuery.of(context).size.width*0.7,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(15))
),
child: VideoPlayer(_controller),
)
);
}
}