I'm attempting to gracefully handle "media services reset" in my audio recording implementation.
When AVAudioSession.mediaServicesWereResetNotification
is posted, QA1749 (referred to by the docs, even though it's "archived") says that we should dispose of any "orphaned audio objects" and recreate them.
Should an instance of AVAudioRecorder be disposed of & recreated? Or is there something else we should do with them?
If we should dispose of & recreate the AVAudioRecorder, is it possible to resume recording to the same file?
Currently if we just pause on "media services reset" and just resume when the user asks us to, we get a corrupted audio file. (One where ExtAudioFileOpenURL
returns kAudioFileInvalidFileError
(OSStatus 1685348671))