Просматривать аудиофайл в зависимости от уровня пакета просто. Просто нужно изменить currentPacket при заполнении следующего буфера:
AudioFileReadPackets(_audioFile, false, &numBytes, _packetDescs, _currentPacket, &numPackets, buffer->mAudioData);
Но что, если вы хотите искать позицию 10 с начала файла?
Для файлов CBR это должно быть легко рассчитать, но как быть с файлами VBR?