2013-07-10 1 views
0

Я новый разработчик, и я разбираюсь в аудио в iOS.Как использовать средство выбора мультимедиа для настроек?

Это будет сложно объяснить, но я отдам его. Я использую медиа-подборщик, чтобы пользователь мог выбрать песню из своей библиотеки. Я не хочу, чтобы там была очередь или для нее играть сразу. Вместо этого я хочу, чтобы он отображался в виде таблицы, и когда пользователь выбирает эту песню в представлении таблицы, она будет воспроизводить ее, когда в другом виде нажимается кнопка.

Так что я хочу, чтобы пользователь мог выбрать песню из своей библиотеки и ее добавить в список. Затем они могут выбрать песню из этого списка, и она будет воспроизводиться, когда нажата кнопка.

Если это помогает, это код, я использую для сборщика средств массовой информации и воспроизведения звука (и они на самом деле не связаны друг с другом):

Медиа Выбор:

MPMediaPickerController *mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeAnyAudio]; 

     [mediaPicker setDelegate:self]; 
     [mediaPicker setAllowsPickingMultipleItems:NO]; 

     mediaPicker.prompt = NSLocalizedString(@"text1", "text2"); 

     [self presentViewController:mediaPicker animated:YES completion:nil]; 

Воспроизведение аудио:

if (self.panicButtonPressed == NO) { 
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] 
            pathForResource:@"Alarm 1" 
            ofType:@"mp3"]]; 
alarmSound = [[AVAudioPlayer alloc] 
       initWithContentsOfURL:url 
       error:nil]; 
    [alarmSound play]; 
self.panicButtonPressed = YES; 
} 

Любая помощь была бы принята с благодарностью.

ответ

0

Как только вы получите URL-адрес файла, вы можете использовать его для доступа к метаданным файлов (название, исполнитель и т. Д.). Затем вы можете заполнить таблицу этими данными и URL.

+0

Спасибо за ваш ответ. Не могли бы вы уточнить, чтобы показать, как я это делаю? Я предполагаю, что использовал бы метод '- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection', но я не уверен, что его вводить. Включит ли это что-то вроде этого: 'NSURL * url = [[mediaItemCollection.items objectAtIndex: 0] valueForProperty: MPMediaItemPropertyAssetURL];' –

+0

Если вы хотите, чтобы «выбранная» песня появлялась в виде таблицы, я думаю, что это самая простая вещь было бы хранить ссылку на то, что они выбрали в NSArray, а затем в таблице tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath' вы должны передать метаданные и URL-адрес файла. В дополнение к документам Apple вы можете ознакомиться с этим кратким обзором UITableViewController: http://blog.teamtreehouse.com/introduction-to-the-ios-uitableviewcontroller – Nick

+0

Извините за мой поздний ответ. Спасибо за вашу помощь, как бы сохранить «выбранную» песню в NSArray. Я знаю, как хранить строку в NSArray 'self.booksArray = [NSArray arrayWithObjects: @« Храбрый новый мир ». Я понимаю, что вы говорите, но я не уверен, как это сделать. Я уже пробовал читать через Apple Docs, но я все еще пытаюсь понять это. Я посмотрел ссылку, которую вы включили. –

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

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