Swift で動画再生機能を最速で作る【約5分】
経緯
最速で実装チャレンジとしてやったことを書いていく。
目次
まず、先に手順を書いておく。
- Xcodeでプロジェクトを作成する
- mp4の動画をプロジェクトにコピーする
- storyboardで画面レイアウトを作る
- storyboardとViewControllerをつなぐ
- コードを書いていく
- 完成
やっていく
1. Xcodeでプロジェクトを作成する
言語はSwiftを選ぶのを忘れずに。
2. mp4の動画をプロジェクトにコピーする
iPhone でとったMOVなどは、ffmpegなどを使って変換してから追加すると良いかも。こんな感じに
ffmpeg -i 画面収録\ 2019-03-08\ 20.22.04.mov -pix_fmt yuv420p video.mp4
3. storyboardで画面レイアウトを作る
constractionsあたりの設定で中央に表示されるようにレイアウトも固定しておく。
4. storyboardとViewControllerをつなぐ
右上にある丸が二つ重なっているアイコンを押してstoryboardとViewControllerを表示する。
んでそののちに、storyboardでボタンを選択して、controlキー
を押しながらViewControllerに引っ張っていき適当な名前を付ける。
ここでconnection
を Action
にするのをお忘れなく。
5. コードを書いていく
ボタンアクションをガリガリかいていく。
コードの意味はシンプルなので読み解けると思う。
@IBAction func buttonAction(_ sender: Any) { if let path = Bundle.main.path(forResource: "video", ofType: "mp4") { let video = AVPlayer(url: URL(fileURLWithPath: path)) let videoPlayer = AVPlayerViewController() videoPlayer.player = video present(videoPlayer, animated: true, completion: { video.play() }) } }
6. 完成
ちなみに7分かかった笑