Как я могу использовать средство выбора мультимедиа для настроек?

Я новый разработчик, и я разбираюсь со звуком в 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;
}

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


person Invalid Memory    schedule 10.07.2013    source источник


Ответы (1)


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

person hotpaw2    schedule 10.07.2013
comment
Спасибо за Ваш ответ. Не могли бы вы уточнить, чтобы показать, как я это делаю? Думаю, я бы использовал метод - (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection, но я не уверен, что в него вставить. Будет ли это включать что-то вроде этого: NSURL *url = [[mediaItemCollection.items objectAtIndex: 0] valueForProperty:MPMediaItemPropertyAssetURL]; - person Invalid Memory; 11.07.2013
comment
Если вы хотите, чтобы «выбранная» песня отображалась в виде таблицы, я думаю, что проще всего будет сохранить ссылку на то, что они выбрали, в NSArray, а затем в вашем методе tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath вы передадите метаданные файла и URL-адрес . В дополнение к документации Apple вы можете ознакомиться с этим кратким обзором UITableViewController: блог. teamtreehouse.com/ - person Nick; 11.07.2013
comment
Извините за мой поздний ответ. Спасибо за вашу помощь, как мне сохранить «выбранную» песню в NSArray. Я знаю только, как хранить строку в NSArray self.booksArray = [NSArray arrayWithObjects:@"Brave new world". Я понимаю, о чем вы говорите, но я не знаю, как это сделать. Я уже пробовал читать Apple Docs, но все еще пытаюсь понять это. Я посмотрел ссылку, которую вы указали. - person Invalid Memory; 15.07.2013