iOS

[iOS] 버튼 클릭 시 sound 효과 설정 - Swift

Play sound when press a button

Posted by dongjune on December 13, 2020

우선 AVAudioPlayer를 사용하기 위해 AVFoundation Module을 import 해줍니다.

1
import AVFoundation

그리고 AVAudioPlayer 타입의 변수를 생성합니다.

1
var player:AVAudioPlayer!

이제 버튼의 Action 함수 안에서 sound 효과를 설정해보겠습니다. 코드 설명은 주석에 있습니다.

1
2
3
4
5
6
7
8
@IBAction func keyPressed(_ sender: UIButton) {
    // forResource 에 sound 파일의 파일명, withExtension에 확장자명을 써서 소리파일의 url을 설정해줍니다.
    let url = Bundle.main.url(forResource: "ring", withExtension: "wav")
    // 위에서 설정한 player 변수에 url을 넣어줍니다.
    player = try! AVAudioPlayer(contentsOf: url!)
    // sound를 play 합니다.
    player.play()
}

이제 버튼을 클릭하면 ring.wav 파일의 소리가 재생됩니다.