확실한건 비디오 키트를 이용해서 내부 영상 파일과 외부영상 파일을 재생할 수 있지만
유투브 영상의 url을 가져와서 재생을 할 수 없다.
다른 api를 찾아봐야 한다.
//
// ViewController.swift
// MoviePlayer
//
// Created by MacBookPro on 2017. 11. 28..
// Copyright © 2017년 MacBookPro. All rights reserved.
//
import UIKit
import AVKit
import AVFoundation
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func btnInternalMovie(_ sender: UIButton) {
// 비디오 파일명을 사용하여 비디오가 저장된 앱 내부의 파일 경로를 받아온다.
let filePath:String? = Bundle.main.path(forResource: "aaa", ofType: "mp4")
//앱내부의 파일명을 nsurl형식으로 변경한다.
let url = NSURL(fileURLWithPath: filePath!)
playVideo(url: url)
}
//외부비디오재생버튼
@IBAction func btnExternalMovie(_ sender: UIButton) {
let url = NSURL(string: "https://youtu.be/HMQpNuO1SpM")!
playVideo(url: url)
}
private func playVideo(url: NSURL){
//avplayerViewController의 인스턴스를 생성한다.
let playerController = AVPlayerViewController()
//앞에서 얻은 비디오 url로 초기화된 avplayer의 인스턴스를 생성한다.
let player = AVPlayer(url: url as URL)
//AVPlayViewController의 player 속성에 위에서 생성한 avplayer인스턴스를 할당한다.
playerController.player = player
//비디오를 재생한다.
self.present(playerController, animated:true){
player.play()
}
}
}
//위에 소스가 안될때는 아래걸로
import UIKit
import AVKit
import AVFoundation
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//내부영상 재생
@IBAction func btnInternalMovie(_ sender: UIButton) {
playLocalVideo()
}
//내부 비디오 재생 함수
func playLocalVideo(){
let filePath:String? = Bundle.main.path(forResource: "start", ofType: "mov")
let url = NSURL(fileURLWithPath: filePath!)
let player = AVPlayer(url: url as URL)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
//비디오를 재생한다.
self.present(playerViewController, animated:true){
player.play()
}
}
let videoURL = "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"
//유튜브 주소는 안되네...
//let videoURL = "https://youtu.be/Ra7Ein0YjDU"
//외부 비디오 재생 함수
func playExtravideo(){
let url = NSURL(string: videoURL)!
let player = AVPlayer(url: url as URL)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
//비디오를 재생한다.
self.present(playerViewController, animated:true){
player.play()
}
}
//외부비디오재생버튼
@IBAction func btnExternalMovie(_ sender: UIButton) {
playExtravideo()
}
}
'ios 뽀개기 > ios앱' 카테고리의 다른 글
19 ios 스위프트 그림그리기 선 원 호 구현 (0) | 2017.11.29 |
---|---|
18 ios 스위프트 사진촬영&사진 불러오기 구현 (4) | 2017.11.29 |
16 ios 스위프트 오디오&녹음 어플 구현 (7) | 2017.11.28 |
15 ios 스위프트 아주 간단한 todo 어플 만들기 (0) | 2017.11.27 |
14 ios 스위프트 네비게이션 바 (0) | 2017.11.27 |
댓글