要判断视频是否正在播放,可以使用`VideoPlayerController`对象的`value.isPlaying`属性。该属性返回一个布尔值,表示当前视频是否正在播放。
以下是一个示例代码,演示如何在页面中添加一个按钮来控制视频的播放状态,并根据视频的播放状态显示不同的文本:
```dart
class _MyHomePageState extends State {
VideoPlayerController _controller;
bool _isPlaying = false;
@override
void initState() {
super.initState();
_controller = VideoPlayerController.network(
'https://example.com/my_video.mp4')
..initialize().then((_) {
setState(() {});
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Video Player Demo'),
),
body: Center(
child: _controller.value.isInitialized
? AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: VideoPlayer(_controller),
)
: Container(),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
if (_isPlaying) {
_controller.pause();
_isPlaying = false;
} else {
_controller.play();
_isPlaying = true;
}
});
},
child: Icon(_isPlaying ? Icons.pause : Icons.play_arrow),
),
);
}
@override
void dispose() {
super.dispose();
_controller.dispose();
}
}
```
在上面的示例中,我们首先定义了一个布尔变量`_isPlaying`,用于记录视频的播放状态。在`build()`方法中,我们添加了一个浮动操作按钮,用于控制视频的播放状态。在按钮的回调函数中,我们首先使用`setState()`方法更新`_isPlaying`变量的值,并根据其值调用`_controller.play()`或`_controller.pause()`方法来控制视频的播放状态。最后,我们使用一个三元运算符来确定按钮的图标应该是“播放”还是“暂停”。