[swift] 스위프트에서 사운드 이퀄라이저 설정하기
아래는 스위프트에서 AVAudioUnitEQ를 사용하여 사운드 이퀄라이저를 설정하는 간단한 예제입니다.
import AVFoundation
// AVAudioEngine를 생성합니다.
var audioEngine = AVAudioEngine()
// 재생할 오디오 파일을 로드합니다.
let audioFile = try! AVAudioFile(forReading: audioURL)
// AVAudioPlayerNode를 생성합니다.
let audioPlayerNode = AVAudioPlayerNode()
// AVAudioUnitEQ를 생성합니다.
let equalizer = AVAudioUnitEQ(numberOfBands: 3)
// 주파수 대역을 설정합니다.
equalizer.bands[0].frequency = 100
equalizer.bands[0].gain = 0
equalizer.bands[1].frequency = 1000
equalizer.bands[1].gain = 0
equalizer.bands[2].frequency = 10000
equalizer.bands[2].gain = 0
// AVAudioEngine에 노드를 추가합니다.
audioEngine.attach(audioPlayerNode)
audioEngine.attach(equalizer)
// 연결을 설정합니다.
audioEngine.connect(audioPlayerNode, to: equalizer, format: audioFile.processingFormat)
audioEngine.connect(equalizer, to: audioEngine.outputNode, format: audioFile.processingFormat)
// 재생을 시작합니다.
audioPlayerNode.scheduleFile(audioFile, at: nil)
try! audioEngine.start()
audioPlayerNode.play()
이 예제에서는 AVAudioEngine를 사용하여 오디오 파일을 재생하고, AVAudioUnitEQ를 사용하여 이퀄라이저를 설정합니다. 각 주파수 대역의 게인을 조절하여 음악이나 오디오의 사운드를 조정할 수 있습니다.
더 많은 세부 내용과 예제 코드는 Apple의 공식 문서를 참고하시기 바랍니다. (AVAudioUnitEQ - Apple Developer Documentation)