В своем приложении для iPhone я пытаюсь использовать класс Apple *1001* MixerHostAudio для микширования и воспроизведения аудиофайлов, указанных пользователем.
Чтобы класс MixerHostAudio воспроизводил файлы, указанные пользователем, я создал экземпляр класса с NSURL этих файлов. Это отлично работает для первого экземпляра, однако, когда я хотел изменить воспроизводимые аудиофайлы, выпустив старый класс MixerHostAudio и выделив новый, приложение вылетает через EXC_BAD_ACCESS
секунд после создания экземпляра.
После некоторой отладки я заметил, что ошибка возникает в inputRenderCallback
, где AudioUnitSampleType
(audioDataLeft
и audioDataRight
) soundStructPointerArray
равно nil.
Это часть кода, где произошла ошибка:
for (UInt32 frameNumber = 0; frameNumber < inNumberFrames; ++frameNumber) {
outSamplesChannelLeft[frameNumber] = dataInLeft[sampleNumber];
if (isStereo) outSamplesChannelRight[frameNumber] = dataInRight[sampleNumber];
Любая помощь очень ценится!