1
나는 다음과 같은 코드를 사용하고
import AVFoundation
var ae:AVAudioEngine
var sampler:AVAudioUnitSampler
var mixer:AVAudioMixerNode
var midiNoteNumberFor:Dictionary<String,UInt8> = [
"BD":48,
"Snr":50,
"Hat":52,
"Hit":53,
"VI":68,
"V":67,
"i":60,
"III": 63
]
let urls = Bundle.main.urls(forResourcesWithExtension: "wav", subdirectory: "wavs")
ae = AVAudioEngine()
mixer = ae.mainMixerNode
sampler = AVAudioUnitSampler()
ae.attach(sampler)
ae.connect(sampler, to: mixer, format: sampler.outputFormat(forBus: 0))
do {
try sampler.loadAudioFiles(at: urls!)
} catch {
print(error)
}
do {
try ae.start()
} catch {
print("Error info: \(error)")
}
func play(snd:String){
sampler.startNote(midiNoteNumberFor[snd]!, withVelocity: 127,onChannel: 0)
}
을, 나는 기능 play(snd: "BD")
를 실행하면 다음과 같은 오류가 발생합니다 :
Error Domain=com.apple.coreaudio.avfaudio Code=-10851 "(null)" UserInfo={failed call=error}
최초의 캐치에서 오는 절.