티스토리 뷰

Mobile/iOS

Swift. AVPlayer 이용하기

out of coding 2018. 7. 8. 00:48

요즘 그동안 잘 보지 않았던 부분에 대해서 조금 봐야하는 시간이 생겨서 생각하다보니까 제가 미디어쪽은 잘 안하고 있었더군요.


그래서 오늘은 간단한 미디어 플레이어에 대해서 알아보도록 하겠습니다.


예제는 간단하게 Video를 플레이하는 방법입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import UIKit
import AVKit
import AVFoundation
 
class ViewController: UIViewController {
 
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        playVideo(name: "TestVideo", type: "m4v")
    }
 
    private func playVideo(name: String, type: String) {
        guard let path = Bundle.main.path(forResource: name, ofType: type) else {
            // Resource Not Found
            return
        }
 
        let player = AVPlayer(url: URL(fileURLWithPath: path))
        let playerController = AVPlayerViewController()
        playerController.player = player
        present(playerController, animated: true) {
            player.play()
        }
    }
}
cs


별 다른것은 아니고 정말 간단하게 AVPlayer를 AVPlayerViewController에 넣어서 화면에 보여주는 기능입니다.


번외로. AVPlayerViewController를 present하지 않고 그대로 View에 addSubview하여서 사용하여도 됩니다.


끝나는 시점에 대해서는 Notification을 등록하게 되면 알수 있습니다.


예로 적은것 말고도 많은 부분들이 있으니 그건 한번 찾아보시는것도 좋을것 같네요.


1
2
3
4
5
6
7
8
9
10
11
override func viewDidLoad() {
        
    ...
 
    let selector = #selector(viewPlayDidFinish(notification:))
    NotificationCenter.default.addObserver(self, selector: selector, name: Notification.Name.AVPlayerItemDidPlayToEndTime, object: nil)
}
 
@objc func viewPlayDidFinish(notification: Notification) {
        
}
cs


그냥 타이핑을 하다보니까 너무 라인이 길어졌는데 이해바랍니다.


그럼 즐거운 코딩

'Mobile > iOS' 카테고리의 다른 글

iOS. swift defer  (0) 2018.09.01
iOS. Custom View 만들기  (0) 2018.08.14
Swift. @escaping, @autoclosure  (0) 2018.07.06
Swift. inline function  (0) 2018.07.06
iOS. Core Data 간략히 설명  (0) 2018.06.30
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함