[Swift] AVAudioPlayer iOS 오디오 wav 파일 재생하기
- 언어/스위프트
- 2023. 2. 16.
반응형
Swift 오디오 재생
iOS 개발을 할 때 오디오를 플레이하려면 AVFoundation을 import 해야 합니다. 우선 간단한 beep 음을 재생하기 위해서 wav 파일을 준비했습니다. 총 3개의 파일이고 시작음과 종료(성공, 실패)음이 있습니다. 다음과 같이 정의 Beep 음 타입을 정하는 BeepType이라는 enum을 하나 정의합니다. 타입은 String타입으로 정의해서 해당 타입의 문자열은 파일이름과 매칭시켜 줍니다.
이제 재생을 할 클래스를 만들고 다음과 같이 AVFoundation을 임포트 해줍니다. 또한 soundEffect라는 AVAudioPlayer 객체를 선언합니다. 아직 객체를 할당하지는 않았지만 강제 옵셔날 언래핑(!) 해서 선언합니다.
다음 함수는 오디오 재생을 위한 함수입니다. 앞서 정의한 BeepType을 받아서 해당 파일이름으로 url을 생성한 뒤에 AVAudioPlayer에 콘텐츠 url을 넘겨줍니다. 그럼 새로운 객체를 생성할 수 있고 soundEffect 객체가 널이 이나리면 play 메서드를 통해 재생하게 됩니다.
이제 웨이브 파일을 재생하기 위해서 정의된 playBeep 함수를 실행합니다. 다음과 같이 .start enum 값을 주면 시작음을 재생합니다.
AVAudioPlayer는 wav 파일이 아닌 mp3 같은 파일도 재생이 가능합니다.
반응형
'언어 > 스위프트' 카테고리의 다른 글
[Swift] iOS 저전력(절전) 모드 확인하기 (2) | 2023.03.14 |
---|---|
[Swift] Date 객체에 1일(하루)을 추가해서 Date 객체 변환하기 (0) | 2023.03.11 |
[Swift] userContentController JSON 데이터 파싱하기 (0) | 2023.02.11 |
[Swift] 스위프트 랜덤(random) 난수 색상 값 만들기 (0) | 2022.09.30 |
[Swift] 스위프트 toString 구현하기 (0) | 2022.09.27 |