2020/10/12 - [개발/iOS] - AVPlayer클래스 살펴보기 2020/10/12 - [개발/iOS] - AVPlayer에서 플레이어 상태 파악하기 AVPlayer는 미디어 재생과 타임을 관리할 수 있는 컨트롤러이다. 이번에 AVPlayer를 사용해 개발하다가 하루 종일 끙끙거린 문제가 있었다. 먼저 AVAsset으로 모델링한 것으로 AVPlayerItem을 만들어 플레이어에 넣어주었다. 그리고 플레이어를 재생시키면 잘 재생되는 것 까지 확인 완료. 문제는 여기다. 잘 재생되다가 오디오 인터럽트가 지속될시에 현재 재생하고 있는 미디어가 노출되지 않는 현상이 발생했다. (카메라 앱에서 동영상을 오래동안 찍고 있거나 슬립 상태에 진입) 애플에서 자체적으로 비디오 렌더링을 못하게 막는 것 같았음. ..
차례 - tvOS Picture in Picture - implementing tvOS Picture in Picture - Working with the standard playback UI - Demo Picture in Picture을 살펴보자. 이번에 애플 TV에 새롭게 등장한다. 또한 두 개의 영상이 동시에 재생된다. 프로젝트 구축 구현하려면 백그라운드 모드도 추가해줘야 한다. 오디오 세션을. playback 카테고리로 구성해야 한다. 이미 아이패드에도 구현해봤다면 친숙할 것이다. 표준 재생 UI를 사용한다. PIP는 기본적으로 활성화된다. PIP 생명주기는 AVPlayerViewControllerDelegate에 있다. 아래 메서드들을 통해서 관찰 가능하다. 특히나 마지막 복구되는 메서드를 살..
AVPlayer를 사용해볼 기회가 생겨서 문서를 정리해보려 합니다. 예전에 비디오 플레이어 프로젝트에 참여했을 때 썼던 기억이 있는데 1년 더 된 것 같네요. 공식문서에 설명된 내용을 정리해보겠습니다. AVPlayer는 플레이어의 전송 동작을 제어하는 인터페이스를 제공하는 객체입니다. AVPlayer는 재생과 미디어 자산(asset)의 타이밍을 관리하는 데 사용되는 컨트롤러 객체입니다. AVPlayer를 사용하여 AVPlayerQuickTime영화 및 MP3 오디오 파일과 같은 로컬 및 원격 파일 기반 미디어와 HTTP 라이브 스트리밍(HLS)을 사용하여 제공되는 시청각 미디어도 재생할 수 있습니다. AVPlayer는 한 번에 하나의 미디어 자산을 재생하기 위한 것입니다. replaceCurrentIte..
아래 설명과 같이 AVPlayer는 상태가 계속해서 변경되는 동적 객체입니다. 플레이어의 상태을 관찰할 수 방법이 두 가지 방법이 존재합니다. (AVPlayer 애플 공식문서 링크에서 확인 가능합니다. developer.apple.com/documentation/avfoundation/avplayer) 그중에서도 일반 상태 관찰을 위해 옵저버를 통해서 상태 변화를 받아보도록 했습니다. 상태 변화를 받기 위해서는 observeValue(forKeyPath:of:change:context:) 메서드를 구현해야 합니다. override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any..
- Total
- Today
- Yesterday
- 책
- 애니메이션
- swiftUI
- ARC
- 독서
- 알고리즘
- objective-c
- RX
- 책 후기
- 머신러닝
- wwdc
- objc
- Xcode
- Algorithm
- Animation
- rxswift
- stanford SwiftUI
- 책 추천
- SWIFT
- ios
- 스위프트UI
- leetcode
- string
- 스위프트
- 딥러닝
- Deep learning
- iOS SwiftUI
- ReactiveX
- 문자열
- swift5
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |