Как загрузить аудио / видео файлы из Интернета и сохранить в приложении iPhone?

Я разрабатываю приложение для iPhone для музыки. Я хочу дать некоторые параметры пользователю, чтобы они могли прослушивать песню / музыку потоковым потоком или загружать музыку в приложение . Я знаю, как программно передавать потоки аудиофайлов в приложении. Но я не знаю, как загрузить аудиофайлы в приложении и воспроизвести аудио после загрузки. А также пользователь может приостановить загрузку во время загрузки. Можно ли это сделать? Может ли кто-нибудь направить меня и, пожалуйста, поделитесь с нами каким-нибудь образцовым кодом или учебным пособием? У меня есть еще одно сомнение: не могли бы вы помочь мне создать папку внутри приложения? Пожалуйста, помогите мне. Заранее спасибо.

2 Solutions collect form web for “Как загрузить аудио / видео файлы из Интернета и сохранить в приложении iPhone?”

Создание папки

Для каждого приложения у вас есть Documents Folder с Documents Folder . Здесь хранятся все файлы, которые вы используете в своем приложении. Если вы хотите создать больше каталогов здесь, вы бы сделали что-то вроде этого:

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"MyNewFolder"]; if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath]) [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; //Create folder if it doesn't already exist 

загрузка

Если вы хотите загрузить аудиофайлы из Интернета, вы хотите посмотреть на асинхронный метод его выполнения. Это означает, что приложение может продолжать делать что-то, пока загрузка происходит в фоновом режиме.

Для этого я рекомендую использовать ASIHTTPREQUEST . Он отлично подходит для выполнения любых запросов на скачивание, предоставляя вам множество опций, таких как приостановка загрузки (по вашему усмотрению).

На веб-сайте имеется большое количество документации по загрузке и хранению файла. Взгляните на раздел « Загрузка файла » на этой странице.

Вы бы просто сделали что-то вроде:

 NSURL *url = [NSURL URLWithString:@"http://www.fileurl.com/example.mp3"]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request setDownloadDestinationPath:[NSString stringWithFormat:@"%@",dataPath]]; //use the path from earlier [request setDelegate:self]; [request startAsynchronous]; 

Затем просто обрабатывайте прогресс и завершение через методы делегатов, которые предлагает ASIHTTPRequest.

Воспроизведение

Воспроизведение файла очень просто. Как только он появится на устройстве, и вы знаете, где он находится, просто загрузите его в аудиоплеер.

Здесь есть отличный учебник по использованию AVAudioPlayer для воспроизведения звуков. Очень простой пример его использования в вашем случае:

 NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3",dataPath]; NSError *error; audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error]; if (audioPlayer == nil) NSLog([error description]); else [audioPlayer play]; 

Да, вы можете загружать аудиофайлы и воспроизводить загруженные файлы через AVAudioPlayer. Я не знаю, как сделать паузу при загрузке, но я загрузил аудио и играл. Вы можете скачать либо запрос ASIHTTP, либо другой.

Вы можете следить за этими ссылками.

  1. http://allseeing-i.com/ASIHTTPRequest/How-to-use#tracking_progress
  2. О файле загрузки с использованием ASIHttpRequest
  • Adobe AIR на мобильных платформах
  • Как отключить и скрыть UITextField
  • Должен ли CFBundleURLName соответствовать CFBundleIdentifier?
  • Отправлять почту из приложения iPhone без участия пользователя iOS5?
  • Центрирование textLabel вертикально в UITableViewHeaderFooterView из tableView: willDisplayHeaderView: forSection:
  • UITableViewCell: разрешение выборочного удаления
  • Установка альфа на UIView устанавливает альфу на ее подпунктах, которая не должна произойти
  • Есть ли простой способ установить шрифт по умолчанию для всего приложения?
  • Динамическая высота UITableViewCell
  • Полное решение для ЛОКАЛЬНОЙ проверки поступлений в приложении и пакетов квитанций на iOS 7
  • Альтернатива идентификатору устройства iPhone (UDID)
  • Interesting Posts

    Запретить VoiceOver показывать виды, которые находятся под большим прозрачным представлением

    Ошибка ibtool при связывании ссылок с раскадрой: файл «Info.plist» не может быть сохранен в папке * .storyboardc

    Можно ли изменить черный «цвет фона» приложений iOS?

    В моем приложении iOS неопределенные символы для архитектуры x86_64

    Как отключить / включить ключ возврата в UITextField?

    Есть ли способ уловить нажатие клавиши возврата, когда UITextField является первым ответчиком без использования делегата?

    Paypal с кнопкой корзины покупок в iphone

    Xcode – предупреждение Linker с библиотекой – Debug-iphonesimulator vs. Debug-iphoneos

    С элементом видео HTML5 на iphone, как я могу определить разницу между «паузой» и «сделанным»?

    Приобретение покупки Apple в приложении – проверка на стороне сервера

    Как изменить цвет нижнего края на iPhone X программно?

    Как вручную добавить кнопку «Назад» в мою навигационную панель?

    collectionview с горизонтальным свитком с разделом mulitple

    Есть ли альтернатива Flurry с открытым исходным кодом?

    React Native App не запускается на iOS через несколько дней

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.