Flutter 无法在Flatter中播放视频
我尝试在flutter中播放视频,当我启动代码时,我遇到了这个问题 未处理的异常:PlatformException(通道错误,无法在通道上建立连接,null,null) 这是我的代码: 我创建了一个类VideoApp extend statefulwidget _控制器包含视频Flutter 无法在Flatter中播放视频,flutter,Flutter,我尝试在flutter中播放视频,当我启动代码时,我遇到了这个问题 未处理的异常:PlatformException(通道错误,无法在通道上建立连接,null,null) 这是我的代码: 我创建了一个类VideoApp extend statefulwidget _控制器包含视频 import 'package:video_player/video_player.dart'; import 'package:flutter/material.dart'; void main() => r
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(
'http://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_20mb.mp4')
..initialize().then((_) {
// Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
setState(() {});
});
}
@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();
}
}
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(
'http://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_20mb.mp4')
…初始化()。然后(u41;{
//确保在视频初始化后,甚至在按下播放按钮之前,显示第一帧。
setState((){});
});
}
@凌驾
小部件构建(构建上下文){
返回材料PP(
标题:“视频演示”,
家:脚手架(
正文:中(
子项:_controller.value.initialized
?AspectRatio(
aspectRatio:_controller.value.aspectRatio,
子项:视频播放器(_控制器),
)
:Container(),
),
浮动操作按钮:浮动操作按钮(
已按下:(){
设置状态(){
_controller.value.isPlaying
?_控制器暂停()
:_controller.play();
});
},
子:图标(
_controller.value.isplay?图标。暂停:图标。播放箭头,
),
),
),
);
}
@凌驾
无效处置(){
super.dispose();
_controller.dispose();
}
}
我在这里试过,效果很好。您可能有网络问题,请检查您的Internet连接…即使我更改了VideoPlayerController.network,也可以http://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_20mb.mp4)
至视频播放器控制器.asset(“assets/videos/test.mp4”)
它对我不起作用。请检查您是否有最新版本的Flatter和插件,如果失败,请发布堆栈跟踪。