본문 바로가기

iOS/스위프트로 아이폰 앱 만들기

[14장] Video

728x90

13장의 소리와 마찬가지로 미디어를 재생하는 경우도 많습니다.

 

미디어 재생하기

비디오 재생을 위해서는 AVKit을 추가해야 합니다.

AVKit은 아이폰에서 미디어 재생에 필요한 기능(영상 재생, 자막, PIP 등)에 대한 인터페이스를 제공합니다.

import AVKit

 

미디어 파일 불러오기

로컬 파일을 불러올 수도 있고, 외부 파일을 불러올수도 있습니다.

class ViewController: UIViewController {
    @IBAction func btnPlayInternalMovie(_ sender: UIButton) {
    	// 내부 파일 mp4
        let filePath: String? = Bundle.main.path(forResource: "FastTyping", ofType: "mp4")
        let url = NSURL(fileURLWithPath: filePath!)
        playVideo(url: url)
    }
    @IBAction func btnPlayExternalMovie(_ sender: UIButton) {
        // 외부 파일 mp4
        let url = NSURL(string: "https://dl.dropboxusercontent.com/s/e38auz050w2mvud/Fireworks.mp4")!
        playVideo(url: url)
    }
}

 

미디어 재생하기

AVPlayerViewController는 미디어 재생하는 화면을 의미합니다.

해당 컨트롤러의 player를 지정하고 AVPlayerViewController를 present로 화면에 띄어주면 됩니다.

아이폰의 미디어 플레이어에서 영상이 재생됩니다.

 

class ViewController: UIViewController {
    @IBAction func btnPlayInternalMovie(_ sender: UIButton) {
        let filePath: String? = Bundle.main.path(forResource: "FastTyping", ofType: "mp4")
        let url = NSURL(fileURLWithPath: filePath!)
        playVideo(url: url)
    }
    
    private func playVideo(url: NSURL) {
        let playerController = AVPlayerViewController()
        
        let player = AVPlayer(url: url as URL)
        playerController.player = player
        
        self.present(playerController, animated: true) {
            player.play()
        }
    }
}

 

Reference

https://developer.apple.com/documentation/avkit

https://developer.apple.com/documentation/avkit/avplayerviewcontroller/

https://developer.apple.com/documentation/uikit/uiviewcontroller/1621380-present

'iOS > 스위프트로 아이폰 앱 만들기' 카테고리의 다른 글

[16장] Core graphics  (0) 2021.10.19
[15장] Camera & Photo Library  (0) 2021.10.19
[13장] Audio  (0) 2021.10.17
[12장] Table View  (0) 2021.10.17
[11장] Navigation  (0) 2021.10.17