Конвертировать NSData в двойной массив в Objective C - PullRequest
0 голосов
/ 27 декабря 2011

У меня в приложении для iPhone есть аудиофайл, который я конвертирую в объект NSData. В идеале я хотел бы получить массив двойников из аудиофайла. Есть ли способ конвертировать NSData в массив парных чисел?

Вот текущий вывод из строки NSLog(@"%@\n", data), где data - объект NSData аудиофайла:

<0000001c 66747970 6d703432 00000001 6d703431 6d703432 69736f6d 00000008 77696465 004d956e 6d646174 21000340 681c210c 53ed990c 1f33e94d ab588b95 55a61078 08799c67 f1f706cc 595b4eb6 08cfb807 ea0e3c40 03c13303 e674e05a...

1 Ответ

2 голосов
/ 27 декабря 2011

Метод -bytes возвращает необработанные байты NSData.Затем вы можете привести его к двойному указателю (при условии правильного порядкового номера).

const double* array_of_doubles = (const double*)[data bytes];
NSUInteger size_of_array = [data length] / sizeof(double);

Редактировать: Данные представляют собой файл MP4.Вы не можете конвертировать MP4 в значимый массив double напрямую.Я не знаю, что вы хотите сделать, но, возможно, AVAssetReader поможет.

...