Я пытался написать наименьший кусок кода, чтобы сузить проблему. Теперь это всего лишь несколько строк, и это не работает, что ясно показывает, что у меня есть фундаментальное недопонимание того, как использовать AudioFileReadPackets. Я прочитал документы и другие примеры в Интернете, и, очевидно, я просто не понимаю. Не могли бы вы объяснить это мне?
Вот что должен делать этот блок: я ранее открыл файл. Я хочу прочитать только один пакет - первый файл - и затем распечатать его. Но происходит сбой в строке AudioFileReadPackets:
AudioFileID mAudioFile2;
AudioFileOpenURL (audioFileURL, 0x01, 0, &mAudioFile2);
UInt32 *audioData2 = (UInt32 *)malloc(sizeof(UInt32) * 1);
AudioFileReadPackets(mAudioFile2, false, NULL, NULL, 0, (UInt32*)1, audioData2);
NSLog(@"first packet:%i",audioData2[0]);
(Для ясности я убрал всю обработку ошибок.)
Вылетает линия AFRP.
(я понимаю, что третий и четвертый аргументы полезны, и в моем «реальном» коде я их использую, но они не обязательны, верно? Так что в этом случае NULL должен работать, верно?) происходит?
Любое руководство будет высоко ценится.
Спасибо.