[swift] 사운드 재생 및 녹음 기능 사용하기
앱에 사운드를 재생하고 녹음하는 기능을 추가하려고 합니까? Swift에서는 사운드 관련 기능을 간단하게 구현할 수 있습니다. 이 문서에서는 Swift를 사용하여 사운드를 재생하고 녹음하는 방법에 대해 알아보겠습니다.
1. 사운드 재생하기
AVFoundation 프레임워크 추가
먼저, 사운드를 재생하기 위해 AVFoundation 프레임워크를 프로젝트에 추가해야 합니다. Xcode에서 프로젝트를 열고, Build Phases
로 이동하여 Link Binary With Libraries
에 AVFoundation을 추가합니다.
사운드 재생 코드
다음은 Swift를 사용하여 사운드를 재생하는 간단한 코드 예제입니다.
import AVFoundation
func playSound() {
guard let url = Bundle.main.url(forResource: "sound", withExtension: "mp3") else { return }
do {
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default)
try AVAudioSession.sharedInstance().setActive(true)
let player = try AVAudioPlayer(contentsOf: url, fileTypeHint: AVFileType.mp3.rawValue)
player.play()
} catch let error {
print(error.localizedDescription)
}
}
위 코드에서는 AVAudioPlayer
를 사용하여 사운드를 재생하고 있습니다.
2. 사운드 녹음하기
마이크 접근 권한 허용
사운드를 녹음하려면 마이크에 대한 접근 권한을 요청해야 합니다. Info.plist 파일에 NSMicrophoneUsageDescription
키를 추가하여 사용자에게 마이크 접근 권한을 설명할 수 있습니다.
사운드 녹음 코드
다음은 Swift를 사용하여 사운드를 녹음하는 코드 예제입니다.
import AVFoundation
var audioRecorder: AVAudioRecorder!
func startRecording() {
let audioFilename = getDocumentsDirectory().appendingPathComponent("recording.m4a")
let settings = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 12000,
AVNumberOfChannelsKey: 1,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]
do {
audioRecorder = try AVAudioRecorder(url: audioFilename, settings: settings)
audioRecorder.record()
} catch {
print("Recording failed")
}
}
func getDocumentsDirectory() -> URL {
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
return paths[0]
}
위 코드에서는 AVAudioRecorder
를 사용하여 사운드를 녹음하고 있습니다.
이제, Swift를 사용하여 앱에 사운드를 재생하고 녹음하는 기능을 구현하는 방법을 알게 되었습니다. AVFoundation 프레임워크를 사용하면 간단한 코드 몇 줄로도 사운드 관련 기능을 쉽게 추가할 수 있습니다.