[swift] 재생중인 사운드 일시정지 및 다른 사운드 재생하기

이번 예제에서는 Swift를 사용하여 재생중인 사운드를 일시정지하고 다른 사운드를 재생하는 방법을 알아보겠습니다.

1. AVAudioPlayer 설정

먼저, AVAudioPlayer를 사용하여 사운드를 재생하고 관리하기 위해 해당 사운드 파일의 경로를 설정해야 합니다. 예를 들어, backgroundMusic.mp3라는 파일을 재생하려면 다음과 같이 경로를 설정합니다.

import AVFoundation

var audioPlayer: AVAudioPlayer?

guard let path = Bundle.main.path(forResource: "backgroundMusic", ofType: "mp3") else {
    return
}

do {
    audioPlayer = try AVAudioPlayer(contentsOf: URL(fileURLWithPath: path))
} catch {
    print("사운드 파일을 재생할 수 없습니다.")
}

2. 사운드 재생 및 일시정지

AVAudioPlayer로 사운드를 재생하고 일시정지하는 방법은 다음과 같습니다.

// 사운드 재생
audioPlayer?.play()

// 사운드 일시정지
audioPlayer?.pause()

이렇게하면 play() 메서드를 호출하여 사운드를 재생하고, pause() 메서드를 호출하여 사운드를 일시정지할 수 있습니다.

3. 다른 사운드 재생

다른 사운드를 재생하려면 새로운 AVAudioPlayer 인스턴스를 생성하고 해당 사운드 파일의 경로를 설정해야 합니다. 예를 들어, buttonClick.mp3라는 사운드를 재생하려면 다음과 같이 새로운 인스턴스를 생성하고 재생할 수 있습니다.

var buttonSoundPlayer: AVAudioPlayer?

guard let buttonPath = Bundle.main.path(forResource: "buttonClick", ofType: "mp3") else {
    return
}

do {
    buttonSoundPlayer = try AVAudioPlayer(contentsOf: URL(fileURLWithPath: buttonPath))
} catch {
    print("사운드 파일을 재생할 수 없습니다.")
}

// 버튼 클릭 사운드 재생
buttonSoundPlayer?.play()

위와 같이 새로운 AVAudioPlayer 인스턴스를 생성한 후, play() 메서드를 호출하여 사운드를 재생할 수 있습니다.

결론

위 예제를 통해 Swift로 재생중인 사운드를 일시정지하고 다른 사운드를 재생하는 방법을 알아보았습니다. AVAudioPlayer를 사용하여 사운드 파일을 관리하면 음악 재생 애플리케이션 또는 게임 등에서 사운드를 효과적으로 제어할 수 있습니다.

참고: Swift 공식 문서 - AVAudioPlayer