티스토리 뷰
Xcode(버전11.3)를 AVPlayerViewController 비디오(동영상) 재생 앱을 만든다:)
- 프로젝트 이미지, 동영상 추가
새로운 'Resources' 폴더를 만들고, 사용할 이미지와 동영상 파일을 추가한다.
- 스토리보드 화면 구성
1) Label, Button을 추가하여 위와 같이 배치한다.
'앱 내부 비디오 재생' Label
Button
'외부 링크 비디오 재생' Label
button
- 스토리보드 화면 구성
2) Button 이미지 넣기
Button -> Attributes Inspector -> Image -> 'movie1_img.png'(사용할 이미지) 선택하고 사이즈를 조절한다.
스토리보드 화면 구성이 완성된 모습
- 액션 함수 추가
Button -> 'btnPlayInternalMovie'
Button -> 'btnPlayExternalMovie'
전체 소스 보기
//
// ViewController.swift
// day191226_MoviePlayer
//
// Created by 무니 on 2019/12/26.
// Copyright © 2019 com.mooni. All rights reserved.
//
import UIKit
import AVKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func btnPlayInternalMovie(_ sender: UIButton) {
// 비디오 파일명을 사용하여 비디오가 저장된 앱 내부의 파일 경로를 받아옴
let filePath:String? = Bundle.main.path(forResource: "movie1", ofType: "mov")
// 앱 내부의 파일명을 NSURL 형식으로 변경
let url = NSURL(fileURLWithPath: filePath!)
playVideo(url: url) // 앞에서 얻은 url을 사용하여 비디오를 재생
}
@IBAction func btnPlayExternalMovie(_ sender: UIButton) {
// 외부에 링크된 주소를 NSURL 형식으로 변경
let url = NSURL(string: "https://dl.dropboxusercontent.com/s/e38auz050w2mvud/Fileworks.mp4")!
playVideo(url: url) // 앞에서 얻은 url을 사용하여 비디오를 재생
}
private func playVideo(url: NSURL){
// AVPlayerController의 인스턴스 생성
let playerController = AVPlayerViewController()
// 비디오 URL로 초기화된 AVPlayer의 인스턴스 생성
let player = AVPlayer(url: url as URL)
// AVPlayerViewController의 player 속성에 위에서 생성한 AVPlayer 인스턴스를 할당
playerController.player = player
self.present(playerController, animated: true){
player.play() // 비디오 재생
}
}
}
내가 가지고 있는 영상으로 '외부 링크 비디오 재생'에 사용하지 못해 다른 링크로 대체 했다..ㅜㅜ
시뮬레이터 결과 화면
'IT > swift' 카테고리의 다른 글
[iOS/swift] UIImagePickerController 카메라와 포토 라이브러리(사진첩) 앱v2 만들기 (3) | 2019.12.30 |
---|---|
[iOS/swift] UIImagePickerController 카메라와 포토 라이브러리(사진첩) 앱 만들기 (0) | 2019.12.27 |
[iOS/swift] AVAudioPlayer 음악(오디오) 재생 및 녹음 앱 v2, 이미지를 보여주는 기능 추가하기 (0) | 2019.12.26 |
[iOS/swift] AVAudioPlayer 음악(오디오) 재생 및 녹음 앱 만들기 (0) | 2019.12.26 |
[iOS/swift] 테이블 뷰 컨트롤러(Table View Controller) 할일 목록 앱v2, 아이콘 선택 기능 추가하기 (0) | 2019.12.23 |