Я создал образец приложения с помощью iPhone SDK, который использует ExtAudioFileOpenURL из среды AudioToolBox. У меня есть аудиофайл test.mp3 в папке с документами моего приложения. Когда я попытался открыть этот аудиофайл с помощью этого API, я получил EXEC_BAD_ACCESS. Я не мог понять почему.
Вот фрагмент кода:
NSArray *arr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *str = [arr objectAtIndex:0];
NSString * temp = [NSString stringWithFormat:@"%@/test.mp3", str];
CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, (CFStringRef)temp, kCFURLPOSIXPathStyle, false);
//AudioFileID fileID ;
//AudioFileOpenURL(url, 0X01, kAudioFileCAFType, &fileID);
ExtAudioFileRef audioFileRef = NULL;
ExtAudioFileOpenURL(url, &audioFileRef);
Я получаю EXC_BAD_ACCESS, когда пробую ExtAudioFileOpenURL. Я думал, что это из-за переданного недействительного URL. Но когда я попробовал AudioFileOpenURL, он работал нормально, убедившись, что URL-адрес действителен.