[flutter] 플러터(Flutter)에서 동영상 재생하기

소개

플러터(Flutter)는 Google에서 개발한 UI 프레임워크로, 하나의 코드베이스로 안드로이드와 iOS 앱을 개발할 수 있는 크로스 플랫폼 프레임워크입니다. 플러터를 사용하여 동영상을 재생하는 앱을 개발하려면 몇 가지 단계를 따라야 합니다. 이 문서에서는 플러터에서 동영상을 재생하는 방법을 알려드리겠습니다.

동영상 재생을 위한 패키지 추가하기

플러터에서 동영상을 재생하기 위해서는 video_player 패키지를 추가해야 합니다. pubspec.yaml 파일을 열고 아래의 의존성을 추가해 주세요.

dependencies:
  flutter:
    sdk: flutter
  video_player: ^2.1.12

의존성을 추가한 후, 패키지를 다운로드하기 위해 터미널에서 flutter packages get 명령을 실행하세요.

동영상 재생 코드 작성하기

동영상을 재생하기 위한 코드는 다음과 같습니다.

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;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.network(
        'https://www.example.com/video.mp4')
      ..initialize().then((_) {
        setState(() {});
      });
  }

  @override
  void dispose() {
    super.dispose();
    _controller.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('동영상 재생'),
        ),
        body: Center(
          child: _controller.value.initialized
              ? AspectRatio(
                  aspectRatio: _controller.value.aspectRatio,
                  child: VideoPlayer(_controller),
                )
              : Container(),
        ),
        floatingActionButton: FloatingActionButton(
          child: Icon(
            _controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
          ),
          onPressed: () {
            setState(() {
              if (_controller.value.isPlaying) {
                _controller.pause();
              } else {
                _controller.play();
              }
            });
          },
        ),
      ),
    );
  }
}

위의 코드에서 VideoPlayerController 인스턴스를 생성할 때 동영상의 URL을 전달하면 됩니다. initialize() 메서드를 호출하여 동영상을 로드하고 재생 준비를 마칩니다. 그리고 AspectRatio 위젯과 VideoPlayer 위젯을 사용하여 동영상을 화면에 표시합니다.

또한, floatingActionButton을 통해 동영상 재생 및 일시정지를 제어할 수 있습니다.

마무리

플러터(Flutter)를 사용하여 동영상을 재생하는 방법에 대해 알아보았습니다. video_player 패키지를 사용하면 간단하게 동영상을 표시하고 제어할 수 있습니다. 다양한 옵션과 기능들을 활용하여 동영상 재생 앱을 개발해보세요.

더 많은 정보를 알고 싶다면, video_player 패키지의 공식 문서를 참고해주세요.