[flutter] 플러터 스크롤바를 사용한 동영상 플레이어 구현하기
플러터를 사용하여 스크롤바가 있는 동영상 플레이어를 구현하는 방법을 알아봅시다.
필요한 패키지 설치하기
먼저, video_player
패키지와 scrollable_positioned_list
패키지를 설치해야 합니다.
flutter pub add video_player
flutter pub add scrollable_positioned_list
동영상 플레이어 UI 만들기
다음으로, 동영상 플레이어 UI를 만들어야 합니다. 아래 코드는 간단한 동영상 플레이어 UI의 예시입니다.
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';
import 'package:scrollable_positioned_list/scrollable_positioned_list.dart';
class VideoPlayerWithScrollbar extends StatefulWidget {
@override
_VideoPlayerWithScrollbarState createState() => _VideoPlayerWithScrollbarState();
}
class _VideoPlayerWithScrollbarState extends State<VideoPlayerWithScrollbar> {
late VideoPlayerController _controller;
final ItemScrollController _scrollController = ItemScrollController();
@override
void initState() {
super.initState();
_controller = VideoPlayerController.network('https://www.example.com/sample.mp4')
..initialize().then((_) {
setState(() {
// 비디오가 준비되었을 때 실행할 작업
});
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('동영상 플레이어')),
body: Column(
children: [
Expanded(
child: Center(
child: _controller.value.isInitialized
? AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: VideoPlayer(_controller),
)
: CircularProgressIndicator(),
),
),
ScrollablePositionedList.builder(
itemCount: _controller.value.duration.inSeconds,
itemBuilder: (context, index) => Container(
height: 20,
child: Text('$index 초'),
),
itemScrollController: _scrollController,
),
],
),
);
}
@override
void dispose() {
super.dispose();
_controller.dispose();
}
}
위 코드에서 VideoPlayerWithScrollbar
위젯은 video_player
패키지를 사용하여 동영상을 재생하고, scrollable_positioned_list
패키지를 사용하여 스크롤바를 만듭니다.
동영상 플레이어 사용하기
이제 VideoPlayerWithScrollbar
위젯을 사용하여 동영상 플레이어를 만들어보세요.
void main() {
runApp(MaterialApp(
home: Scaffold(
body: VideoPlayerWithScrollbar(),
),
));
}
이제 동영상 플레이어에 스크롤바가 추가된 모습을 확인할 수 있습니다.
이상으로, 플러터를 사용하여 스크롤바가 있는 동영상 플레이어를 구현하는 방법에 대해 알아보았습니다.
참고 자료: