[Swift] - AVFoundation

sai06266·2024년 3월 4일

Swift

목록 보기
9/10

AVFoundation

: Work with audiovisual assets, control device cameras, process audio and configure system audio interactions

AVFoundation은 Apple의 프레임워크로서 오디오 및 비디오 미디어 처리와 관련된 작업을 수행할 수 있게 해줍니다.

  1. 오디오 및 비디오 자산(assets)과 작업할 수 있습니다.
  2. 디바이스 카메라를 제어할 수 있습니다.
  3. 오디오를 처리할 수 있습니다.
  4. 시스템 오디오 상호작용을 설정할 수 있습니다.

-> AVKit이 UI구현을 위한 인터페이스 제공

AVAsset

: An object that models timed audiovisual media

AVAsset은 AVFoundation 프레임워크에서 사용되는 클래스로, 오디오 및 비디오 콘텐츠를 나타냅니다. 이 클래스를 사용하여 애플리케이션에서 오디오 및 비디오 자산을 로드하고 재생할 수 있습니다.

AVAsset은 입력된 미디어 트랙을 모델링하는 하나 이상의 AVAssetTrack 인스턴스에 대한 컨테이너 객체

AVPlayer

: An objejct that provides the interface to control the player's transport behavior

미디어 Asset의 재생 및 타이밍을 관리하는 컨트롤러 객체로 AVPlayerQuikTime동영상, MP3 오디오 파일 등의 로컬 및 원격 파일 기반 미디어 및 HLS를 사용해 제공되는 미디어까지 재생할 때 사용

AVPlayer 자체는 비시각적인 객체
화면에 표시하기 위해서는 AVKit/AVPlayerLayer와 같은 방식을 사용

AVPlayerItem

: An object that models the timing and presentation state of an asset during playback

시간과 그에 따른 현재 미디어 상태 정보를 가지고 있는 객체

AVAsset은 그 자체로 미디어가 가진 모든 정보가 포함
AVPlayerItem은 시간 경과에 따른 현재 정보를 담음

AVAudioRecorder

: An object that records audio data to a file

오디오 데이터를 파일에 녹음하는 객체

기능

  • 시스템 입력 장치를 통해 오디오 녹음
  • 중지하거나 지정된 시간이 될 때까지 녹음
  • 녹음 일시 정지 및 재개
  • 녹음 수준 측정 데이터에 액세스

AVAudioPlayer

: An object that plays audio data from a file or buffer

파일이나 버퍼에서 오디오를 재생하는 객체

기능

  • 파일이나 버퍼에서 원하는 기간의 오디오 재생
  • 재생되는 오디오의 볼륨, 패닝, 속도 및 반복 동작 등을 제어
  • 재생 수준 측정 데이터에 액세스
  • 여러 플레이어의 재생을 동기화하여 여러 사운드를 동시 재생

실시간으로 스트리밍하는 오디오 같은 경우 AVPlayer를,

로컬 파일들의 재생은 AVAudioPlayer를 이용

0개의 댓글