Я просмотрел все ресурсы, которые смог найти, прежде чем отправлять вопрос сам, но я просто не смог получить ответы на свою проблему, поэтому вот так:
В моем приложении iOS я записываю звук с помощью микрофона, затем извлекаю этот звук с помощью AdioUnitRender () и отправляю его делегату.
Это все работает хорошо, пока приложение не выходит из фона, где я получаю сообщение об ошибке в AudioUnitRender:
AURemoteIO :: IOThread (15): EXC_BAD_ACCESS (код = 1, адрес = 0x102044000)
Включение объектов зомба ie для просмотра дополнительной информации не работает для меня.
Мой код:
func inputCallback(
inRefCon:UnsafeMutableRawPointer,
ioActionFlags:UnsafeMutablePointer<AudioUnitRenderActionFlags>,
inTimeStamp:UnsafePointer<AudioTimeStamp>,
inBusNumber:UInt32,
inNumberFrames:UInt32,
ioData:UnsafeMutablePointer<AudioBufferList>?) -> OSStatus {
let sm = Unmanaged<AudioManager>.fromOpaque(inRefCon).takeUnretainedValue()
if (!sm.playing) {
return noErr
}
if (sm.delegates.count < 1) {
return noErr
}
guard let inUnit = sm.inputUnit else { return noErr }
let listPtr = sm.audioBufferList.unsafeMutablePointer
[enter image description here][1]
let status = AudioUnitRender(inUnit,
ioActionFlags,
inTimeStamp,
inBusNumber,
inNumberFrames,
listPtr)
if (status != noErr) {
return status;
}
DispatchQueue.main.async {
for delegate in sm.delegates {
delegate.processSampleData(inputDataList: listPtr, frameCount: Int(inNumberFrames), numInputChannels: sm.inputChannels)
}
}
return noErr
}
Изображение ошибки: https://i.stack.imgur.com/ItPo3.png
Любая помощь очень ценится.