The loop plays smoothly in audacity but when I run it in the device or simulator it clicks each loop at different intensities.
I config the session at App level:
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(.playback, mode: .default, options: [.mixWithOthers])
try audioSession.setActive(true)
} catch {
print("Setting category session for AVAudioSession Failed")
}
And then I made my method on my class:
func playSound(soundId: Int) {
let sound = ModelData.shared.sounds[soundId]
if let bundle = Bundle.main.path(forResource: sound.filename, ofType: "flac") {
let backgroundMusic = NSURL(fileURLWithPath: bundle)
do {
audioPlayer = try AVAudioPlayer(contentsOf:backgroundMusic as URL)
audioPlayer?.prepareToPlay()
audioPlayer?.numberOfLoops = -1 // for infinite times
audioPlayer?.play()
isPlayingSounds = true
} catch {
print(error)
}
}
}
Does anyone have any clue? Thanks!
PS: If I use AVQueuePlayer and repeat the item the click noise disappear (but its no use, because I would need to repeat it indefinitely without wasting memory), if I use AVLooper I get a silence between loops. All with the same sound. Idk :/
PS2: The same happens with ALAC files.