2013-12-19 5 views
4

Я разрабатываю приложение, которое экспортировать аудио файла, хранящийся в библиотеке IPOD, но я должен проверить размер файла перед экспортом и загрузить (сервер имеет фиксированный максимальный размер загрузки):Получить аудио размера файла без экспорта

  • Я знаю, что после экспорта файла размер будет не таким: есть ли способ оценить новый размер?
  • Главный вопрос: могу ли я узнать исходный размер файла перед экспортом (используя MPMediaItem или что-то еще), поэтому я могу сказать пользователю, что этот файл не может быть загружен (экспорт может занять некоторое время). спасибо.
+0

ваша цель развертывания от ios 6 или 5 – codercat

ответ

3

Я не проверял, но AVAssetExportSession могут помочь вам в этом.

MPMediaItem *curItem = musicPlayer.nowPlayingItem; 

NSURL *url = [curItem valueForProperty: MPMediaItemPropertyAssetURL]; 

AVURLAsset *songAsset = [AVURLAsset URLAssetWithURL: url options:nil]; 

AVAssetExportSession *exporter = [[AVAssetExportSession alloc] initWithAsset: songAsset 
            presetName: AVAssetExportPresetPassthrough]; 

exporter.estimatedOutputFileLength даст вам размер в байтах.

+0

Да, это работает спасибо :), но нам нужно добавить timeRange к экспортеру: AVAssetExportSession * exporter = [[AVAssetExportSession alloc] initWithAsset: songAsset presetName: AVAssetExportPresetAppleM4A]; CMTime half = CMTimeMultiplyByFloat64 (exporter.asset.duration, 1); exporter.timeRange = CMTimeRangeMake (kCMTimeZero, половина); long long size = exporter.estimatedOutputFileLength; –

+0

не может дать вам +50! ссылка, похоже, не работает, как мне это сделать? –

+0

На какую ссылку вы спрашиваете? – cjd

-2

Я не уверен, но я думаю, что вы могли бы использовать:

MPMediaItem *item = [[collection items] objectAtIndex:0]; 
NSURL *url = [item valueForProperty:MPMediaItemPropertyAssetURL]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
NSLog(@"length %d",[data length]); 

С уважением,

Мариано

+0

спасибо, но я уже тестировал это, и данные нулевые. –

+0

iOS 6, есть ли разница? –

 Смежные вопросы

  • Нет связанных вопросов^_^