まつまるまつまる

どうも、まつまるです。前回の記事では動画をトリミングするプラグインを実行しました。今回は使用しているプラグインとコードの中身を簡単に解説します。

使用しているパッケージはこちら↓

スポンサーリンク

・使用しているplugin

pluginは一言でいうと拡張機能のことです。自分で1からコードを書いても良いですが、車輪の再発明になってしまいます。

心置きなく使っちゃいましょう。

flutter-video-trimmerで使っているpluginの一覧です。

flutter_ffmpeg
video_player
image_picker
gallery_saver

では、ひとつつずつ説明していきます。

flutter_ffmpeg

公式サイトを見ると、FFmpeg plugin for Flutterと書いてあります。

FFmpegとはwikipediaによると、

動画と音声を記録・変換・再生するためのフリーソフトウェアである。

ようは動画絡みの編集をするためにあるソフトウェアで、それを心優しい方がflutterでも使えるようにしてくれたわけです。
今回はトリミングした動画を新たな動画として保存する時に使われています。

video_player

これは説明不要ですね。動画を再生するためのpluginです。

image_picker

これはiphoneやandroidの端末からimage/videoを取り出すためのpluginです。

めっちゃ使います。

gallery_saver

image/videoiphoneandroidの端末に保存することができるpluginです。

・ローカルから動画を選択

ではまず画面構成とコードの関係を見ていきましょう。

ホーム画面

重要なのは33行目のRaisedButtonが真ん中にある+ボタンを作っていて、これを押すと_pickVideo()が実行するようになっています。

_pickVideo()の中身は8~16行目になります。実行されたときにローカルから動画を選択できるように準備してあります。
video.pathがnullでなければ、editor.dartEditorクラスにページが移ります。

Navigatorは画面変更をサポートしてくれるものです。

スポンサーリンク

・動画をトリミング

editor.dartのEditorクラスでトリミング処理が行われています。画面が上手く表示されていない・・・・

トリミング画面

水色のバーを操作すればトリミング時間を変更できます。ちょっと重たいですね。

トリミングの部分はコードが300行以上あるのではしょります。

・ローカルに保存

Trimボタンを押したらローカルに保存して、ポップアップが表示されます。

ローカルに保存完了

_saveVideo()は以下のように準備しておきます。ここでgallery_saverプラグインが大活躍です。プラグインのおかげでたった数行程度でローカルに保存が完了します。

まとめ

次回はなんとかトリミング部分の解説をやっていきたいです。