[iOS]AVFoundation

Martin Kim·2021년 7월 24일
0

iOS

목록 보기
1/11
post-thumbnail

AVFoundation

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

주요기능

  • 미디어 재생
  • 카메라 마이크를 이용한 영상 녹화 및 사운드 녹음
  • 시스템 사운드 제어
  • 문자의 음성화

AVAudioPlayer Class

  • 파일 또는 메모리에 있는 사운드 데이터를 재생하는 기능

주요기능

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

주요 메서드

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

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

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

Timer

  • Timer 클래스는 일정한 시간 간격이 지나면 지정된 메시지를 특정 객체로 전달한다.
  • 런 루프(run loops)에서 작동
  • 생성할 때 반복 여부를 지정
    • 비 반복 시: 한 번 실행 후 무효화
    • 반복 시: 동일한 런 루프에서 특정 TimeInterval 간격으로 실행. 반복되는 타이머 기능을 정지하려면 invalidate() 메서드를 호출해 무효화

주요 프로퍼티

var isValid: Bool // 타이머가 현재 유효한지 아닌지 여부
var fireDate: Date // 다음에 타이머가 실행될 시각
var timeInterval: TimeInterval // 타이머의 실행 시간 간격 (초 단위)

생성 메서드

// 생성과 동시에 런 루프에 default mode로 등록하는 클래스 메서드
class func scheduledTimer(withTimerInterval: TimeInterval, repeats: Bool, block: (Timer) -> Void)
class func scheduledTimer(timeInterval: Timerinterval, target: Any, selector: Selector, userInfo: Any?, repeats: Bool)
class func scheduledTimer(timeInterval: TimeInterval, invocation: NSInvocation, repeats: Bool)

// 타이머 생성 후 수동으로 타이머 객체를 add(_: forMode:) 메서드를 이용해 런 루프에 추가해줘야 하는 메서드
func init(timeInterval: TimeInterval, invocation: NSInvocation, repeats: Bool)
func init(timeInterval: TimeInterval, target: Any, selector: Selector, userInfo: Any?, repeats: Bool)
func init(fireAt: Date, interval: TimeInterval, target: Any, selector: Selector, userInfo: Any?, repeats: Bool)

참고: 네이버 부스트코스 iOS 앱 프로그래밍(야곰)

profile
학생입니다

0개의 댓글