반응형
iOS 음악 재생 앱 만들기 Part#1 에서 사용된 메소드들을 조금 더 상세하게 확인한다.
AVFoundation
Apple 플랫폼에서 사운드 및 영상 미디어의 처리, 제어, 등 광범위한 기능을 제공하는 프레임워크
[ 주요기능 ]
- 미디어 재생 및 편집
- 카메라를 이용한 녹화와 녹음
- 시스템 사운드 제어
- 문자의 음성화
AVAudioPlayer Class
파일, 메모리에 있는 사운드 데이터를 재생하는 기능을 제공
[ 주요기능 ]
- 파일 또는 메모리에 있는 사운드 재생 ( 네트워크를 이용한 재생은 불가 )
- 파일 재생 시간 길이 제한 없이 재생 가능
- 여러개 사운드 파일 동시 재생 가능
- 재생 속도 제어 및 스테레오 포지셔닝
- Seek 기능 제공
- 현재 재생 데이터 얻기 가능
- 사운드 반복 재생 가능
[ 주요 프로퍼티 ]
type | name | return | description |
var | isPlaying | Bool | 사운드 재생 여부 |
var | volume | Float | 사운드 볼륨값. 최소 0.0 ~ 최대 1.0 |
var | rate | Float | 사운드 재생 속도 |
var | numberOfLoops | Int |
사운드 재생 반복 횟수. 기본값은 0 양수의 값으로 설정시 설정값 + 1회 음수의 값으로 설정시 stop메소드 호출 전까지 무한 재생 |
var | duration | TimeInterval | 사운드 총 재생시간 |
var | currentTime | TimeInterval | 사운드의 현재 재생 시간 |
protocol | AVAudioPlayerDelegate | 사운드 재생완료, 중단 및 디코드 오류에 응답 가능 |
[ 주요 메소드 ]
/** 초기화 메소드 **/
//특정 위치에 있는 파일로 초기화
func init(contentOf : URL )
//메모리에 있는 데이터를 이용해 초기화
func init(data:Data)
/** 재생 관련 메소드 **/
//사운드 재생
func play();
//특정 시점에서 사운드 재생
func play(atTime:TimeInterval)
//사운드 일시 정지
func pause();
//사운드 재생 중지
func stop();
Timer
어떤 언어든 Timer, Date 관련 클래스는 많이사용되고 중요하다.
[ 개념 ]
일정한 시간 간격이 지나면 지정된 메세지를 특정 객체로 전달하는 기능 제공
[ 특징 ]
- 런 루프(run loops)에서 작동
- 생성시 반복 여부 지정
- 동일한 런 루프에서 특적 TimeInterval 간격으로 실행. 정지하려면 invalidate()메소드 호출 필요
[ 주요 프로퍼티 ]
type | name | return | Description |
var | isValid | Bool | 타이머가 유효한지 여부 |
var | fireDate | Date | 다음에 타이머가 실행될 시간 |
var | timeInterval | TimeInterval | 타이머 실행 간격 |
반응형
'Develop > iOS' 카테고리의 다른 글
iOS 오토레이아웃 ( AutoLayout ) (0) | 2019.05.14 |
---|---|
iOS 음악 재생 앱 만들기 Part#1 - 앱 개발 (0) | 2019.05.14 |
Swift 오류 처리 ( Error ) (0) | 2019.05.13 |
Swift 익스텐션 (0) | 2019.05.13 |
Swift 프로토콜 (Protocol) (0) | 2019.05.10 |