[Swift] AVAudioPlayer iOS 오디오 wav 파일 재생하기

반응형

 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 같은 파일도 재생이 가능합니다.

반응형

댓글

Designed by JB FACTORY