[ swift - AVFoundation ]

Yr Yr·2024년 1월 24일

TIL

목록 보기
32/39

✔️ AVFoundation 기본 구성

- AV(AudioVisual): 소리와 시각적 요소를 모두 처리하는 전자 매체
- AVFoundation: AV 리소스를 처리, 카메라 제어, 오디오 처리, 시스템 오디오와의 상호 작용을 할 수 있도록 해주는 프레임워크.
- AVKit: 플레이어의 콘텐츠를 표시하고 재생을 제어하기 위한 기본적인 사용자 인터페이스(자막,PIP)를 제공.(AVPlayerViewController를 통해 제공)
- AVAsset: AV 리소스가 표현되는 객체. 영상,소리,자막으로 구성되어 있으며 리소스의 URL을 통해 생성할 수 있다. 리소스와 관련된 정적 정보(총 재생 시간,생성 날짜 등)을 가지고 있다.
- AVPlayerItem: AVAsset과 유사하지만 재생과 관련한 동적 정보(시간,상태 정보 등)도 함께 가지고 있는 객체. 리소스의 URL,AVAsset을 통해 AVPlayerItem을 생성할 수 있다. Track별 재생과 관련한 동적 정보(프레임 속도, 활성화 여부 등)를 가지고 있는 AVPlayerItemTrack 개념 존재.
- AVPlayer: AVPlayerItem의 재생 및 타이밍을 관리하는 컨트롤러 객체. AVPlayerQuickTime 동영상, MP3 오디오 파일 등의 로컬 및 원격파일 기반 미디어 및 HLS를 사용해 제공되는 미디어까지 재생할 때 사용한다.

✔️ 계층구조

✔️ AVKit로 동영상 재생하기

import AVKit

let url = URL(string: "https://example.com/video.mp4")!

let playerController = AVPlayerViewController()
let player = AVPlayer(url: url as URL)

playerController.player = player

self.present(playerController, animated: true) {
	player.play()
}

0개의 댓글