[Swift] AVFoundation이란?

Ryu·2023년 2월 1일
0

ios - swift

목록 보기
1/5

AVFoundation

: 다양한 Apple 플랫폼에서 사운드 및 영상 미디어의 처리, 제어, 가져오기 및 내보내기 등 광범위한 기능을 제공하는 프레임워크

주요 기능

  • 미디어 재생 및 편집(QuickTime 동영상 및 MPEG-4 파일 재생/생성/편집, HLS 스트림 재생: 재생가능 파일 목록 링크)
  • 디바이스 카메라와 마이크를 이용한 영상 녹화 및 사운드 녹음
  • 시스템 사운드 제어
  • 문자의 음성화

AVAudioPlayer Class

파일 또는 메모리에 있는 사운드 데이터를 재생하는 기능을 제공합니다.

AVAudioPlayer 주요기능

  • 파일 또는 메모리에 있는 사운드 재생(네트워크에 있는 사운드 파일은 재생 불가)
  • 파일 재생 시간 길이의 제한없이 사운드 재생
  • 여러 개 사운드 파일 동시 재생
  • 사운드의 재생 속도 제어 및 스테레오 포지셔닝
  • 앞으로 감기와 뒤로 감기 등의 기능을 지원해 사운드 파일의 특정 지점 찾기
  • 현재 재생 정보 데이터 얻기
  • 사운드 반복재생 기능

AVAudioPlayer 주요 프로퍼티

  • var isPlaying: Bool: 사운드가 현재 재생되고 있는지 아닌지 여부
  • var volume: Float: 사운드의 볼륨값, 최소 0.0 ~ 최대 1.0
  • var rate: Float: 사운드의 재생 속도
  • var numberOfLoops: Int: 사운드 재생 반복 횟수
    - 기본값은 0으로 사운드 1회 재생 후 자동 종료
    - 양수값으로 설정시 설정값+1회 재생(ex. 1로 설정시 2회 재생 후 종료)
    - 음수값으로 설정시 stop 메서드가 호출 될때까지 무한 재생
  • var dutation: TimeInterval: 사운드의 총 재생 시간(초 단위)
  • var currentTime: TimeInterval: 사운드의 현재 재생 시각(초 단위)
  • protocol AVAudioPlayerDelegate: 사운드 재생 완료, 재생 중단 및 디코딩 오류에 응답할 수 있는 프로토콜

AVAudioPlayer 주요 메서드

AVAudioPlayer 초기화 메서드

// 특정 위치에 있는 사운드 파일로 초기화 
func init(contentOf: URL)
// 메모리에 올라와있는 데이터를 이용해 초기화
func init(data: Data)

AVAudioPlayer 재생관련 메서드

// 사운드 재생
func play()
// 특정 시점에서 사운드 재생
func play(atTime: TimeInterval)

// 사운드 일시 정지
func pause()
// 사운드 재생 정지 
func stop()

AVAudioPlayerDelegate

: 오디오의 재생 완료, 재생 중단 및 디코딩 오류에 응답하는 방법을 정의하는 프로토콜

재생 완료에 대한 응답

optional func audioPlayerDidFinishPlaying(
    _ player: AVAudioPlayer,
    successfully flag: Bool
)
  • player : 재생을 마친 오디오 플레이어
  • flag : 오디오 재생이 성공적으로 완료되었는지의 여부를 나타내는 부울 값

*오디오 중단 시 시스템은 이 메서드를 호출하지 않습니다.

오디오 디코딩 오류 대응

optional func audioPlayerDecodeErrorDidOccur(
    _ player: AVAudioPlayer,
    error: Error?
)
  • player : 디코딩 오류가 발생한 오디오 플레이어
  • error : 디코딩 오류
profile
나는야 머찐 개발자

0개의 댓글

관련 채용 정보