[flutter] 플러터 Slider를 사용하여 동영상 재생 시간 조절하는 방법은?
이번 글에서는 Flutter에서 Slider를 사용하여 동영상 재생 시간을 조절하는 방법에 대해 알아보겠습니다.
1. Flutter Video Player 설치
먼저, Flutter 앱에서 동영상을 재생하는 데 사용할 수 있는 플러그인을 설치해야 합니다. 가장 인기 있는 옵션 중 하나는 video_player
패키지입니다. pubspec.yaml
파일에 다음과 같이 패키지를 추가합니다.
dependencies:
video_player: ^2.2.17
그리고 터미널에서 아래 명령어로 패키지를 설치합니다.
flutter pub get
2. 동영상과 Slider 통합
이제, 동영상 플레이어와 Slider를 통합하여 동영상 재생 시간을 조절할 준비가 되었습니다.
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';
void main() => runApp(VideoApp());
class VideoApp extends StatefulWidget {
@override
_VideoAppState createState() => _VideoAppState();
}
class _VideoAppState extends State<VideoApp> {
VideoPlayerController _controller;
// Add a variable to handle the time of video playback
double _currentTime = 0.0;
@override
void initState() {
_controller = VideoPlayerController.network(
'https://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_20mb.mp4')
..initialize().then((_) {
setState(() {
_controller.play();
});
});
super.initState();
// Add a listener to update the current time variable
_controller.addListener(() {
setState(() {
_currentTime = _controller.value.position.inSeconds.toDouble();
});
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Video Demo',
home: Scaffold(
body: Center(
child: _controller.value.isInitialized
? Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: VideoPlayer(_controller),
),
Slider(
value: _currentTime,
min: 0.0,
max: _controller.value.duration.inSeconds.toDouble(),
onChanged: (value) {
setState(() {
_currentTime = value;
_controller.seekTo(Duration(seconds: value.toInt()));
});
},
),
],
)
: CircularProgressIndicator(),
),
),
);
}
@override
void dispose() {
super.dispose();
_controller.dispose();
}
}
위의 코드에서는 video_player
패키지를 사용하여 동영상을 재생하고, 이에 대한 현재 재생 시간을 Slider로 표시 및 조절할 수 있도록 구현하였습니다.
이제, 위 코드를 참고하여 동영상 재생 시간을 조절하는 기능을 구현해 보세요!
더 많은 내용 및 세부 설정 방법은 video_player 패키지의 공식 문서를 참고하시기 바랍니다.
그럼 즐거운 코딩 되세요!