MPMediaQuery
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
NSSecureCoding
-
Печатаемый
-
NSCopying
-
NSObject
-
NSSecureCoding
Оператор импорта
Swift
import MediaPlayer
Objective C
@import MediaPlayer;
Доступность
Доступный в iOS 3.0 и позже.
Мультимедийный запрос указывает ряд элементов носителей (экземпляры MPMediaItem
) от библиотеки iPod посредством фильтра и группирующегося типа. Отфильтруйте и группирующий тип являются оба дополнительными; неполный запрос соответствует всю библиотеку.
Запрос имеет самое большее один тип группировки. Фильтр запроса может состоять из любого числа предикатов свойства носителей. Вы создаете методы использования фильтров, описанные в Ссылке класса MPMediaPropertyPredicate, на основе ключей свойства, описанных в Ссылке класса MPMediaItem.
После создания и конфигурирования запроса, Вы используете его для получения элементов носителей или наборов элементов носителей. Наборы описаны в Ссылке класса MPMediaItemCollection. Можно также использовать запрос для получения массива MPMediaQuerySection
экземпляры, полезные для отображения результатов запроса в пользовательском интерфейсе Вашего приложения. Посмотрите itemSections
и collectionSections
свойства.
Этот класс включает много конструкторов удобства, что каждый применяет группирующийся тип и, в большинстве случаев, соответствует подмножество библиотеки iPod. Таблица 1 суммирует функции этих конструкторов. Посмотрите Ссылку класса MPMediaItem для описаний записей в столбце Filter. Посмотрите, что Набор элементов Носителей Группирует Ключи для описаний записей в Группирующемся столбце типа.
Имя конструктора |
Соответствует всю библиотеку iPod |
Фильтр |
Группировка типа |
---|---|---|---|
|
- |
|
|
|
- |
|
|
|
- |
|
|
|
- |
|
|
|
Да |
|
|
|
Да |
|
|
|
Да |
|
|
|
- |
|
|
|
- |
|
|
Методы класса в этом разделе создают запросы, которые можно использовать непосредственно или изменить, как описано в Конфигурировании Мультимедийных запросов. Для каждого метода класса, запрос groupingType
свойство установлено автоматически согласно имени метода. Например, albumsQuery
метод присваивает группирующийся тип MPMediaGroupingAlbum
. Группирующийся тип указывает природу наборов элементов носителей, которые можно тогда получить от запроса. В то время как другие соответствуют подмножество, как описано в разделах Обсуждения для каждого метода, некоторые методы класса соответствуют всю библиотеку iPod.
-
Создает мультимедийный запрос, соответствующий музыкальные элементы, и это группируется и наборы видов названием альбома.
Объявление
Swift
class func albumsQuery() -> MPMediaQuery!
Objective C
+ (MPMediaQuery *)albumsQuery
Возвращаемое значение
Мультимедийный запрос, соответствующий элементы носителей типа
MPMediaTypeMusic
и имеет группирующийся типMPMediaGroupingAlbum
.Обсуждение
Элемент носителей может иметь больше чем один тип среды; например, элемент мог иметь типы «музыка» и «подкаст».
albumsQuery
запросите соответствует всеMPMediaTypeMusic
элементы, являются ли они также другие типы среды.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
Создает мультимедийный запрос, соответствующий музыкальные элементы, и это группируется и наборы видов именем художника.
Объявление
Swift
class func artistsQuery() -> MPMediaQuery!
Objective C
+ (MPMediaQuery *)artistsQuery
Возвращаемое значение
Мультимедийный запрос, соответствующий элементы носителей типа
MPMediaTypeMusic
и имеет группирующийся типMPMediaGroupingArtist
.Обсуждение
Элемент носителей может иметь больше чем один тип среды; например, элемент мог иметь типы «музыка» и «подкаст».
artistsQuery
запросите соответствует всеMPMediaTypeMusic
элементы, являются ли они также другие типы среды.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
Создает мультимедийный запрос, соответствующий музыкальные элементы, и это группируется и наборы видов названием песни.
Возвращаемое значение
Мультимедийный запрос, соответствующий элементы носителей типа
MPMediaTypeMusic
и имеет группирующийся типMPMediaGroupingTitle
.Обсуждение
Элемент носителей может иметь больше чем один тип среды; например, элемент мог иметь типы «музыка» и «подкаст». A
songsQuery
запросите соответствует всеMPMediaTypeMusic
элементы, являются ли они также другие типы среды.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
Создает мультимедийный запрос, соответствующий всю библиотеку iPod, и это группируется и наборы видов именем списка воспроизведения.
Объявление
Swift
class func playlistsQuery() -> MPMediaQuery!
Objective C
+ (MPMediaQuery *)playlistsQuery
Возвращаемое значение
Мультимедийный запрос, соответствующий все элементы носителей и это имеет группирующийся тип
MPMediaGroupingPlaylist
.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
Создает мультимедийный запрос, соответствующий элементы подкаста, и это группируется и наборы видов именем подкаста.
Объявление
Swift
class func podcastsQuery() -> MPMediaQuery!
Objective C
+ (MPMediaQuery *)podcastsQuery
Возвращаемое значение
Мультимедийный запрос, соответствующий элементы носителей типа
MPMediaTypePodcast
и это имеет группирующийся типMPMediaGroupingPodcastTitle
.Обсуждение
Элемент носителей может иметь больше чем один тип среды; например, элемент мог иметь типы «музыка» и «подкаст». A
podcastsQuery
запросите соответствует всеMPMediaTypePodcast
элементы, являются ли они также другие типы среды.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
Создает мультимедийный запрос, соответствующий элементы аудиокниги, и это группируется и наборы видов именем аудиокниги.
Объявление
Swift
class func audiobooksQuery() -> MPMediaQuery!
Objective C
+ (MPMediaQuery *)audiobooksQuery
Возвращаемое значение
Мультимедийный запрос, соответствующий элементы носителей типа
MPMediaTypeAudioBook
и это использует тип группировки значения по умолчаниюMPMediaGroupingTitle
.Обсуждение
Элемент носителей может иметь больше чем один тип среды; например, элемент мог иметь типы «музыка» и «подкаст».
audiobooksQuery
запросите соответствует всеMPMediaTypeAudioBook
элементы, являются ли они также другие типы среды.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
Создает мультимедийный запрос, соответствующий элементы компиляции, и это группируется и наборы видов названием альбома.
Объявление
Swift
class func compilationsQuery() -> MPMediaQuery!
Objective C
+ (MPMediaQuery *)compilationsQuery
Возвращаемое значение
Мультимедийный запрос, соответствующий любой элемент носителей, имеющий
MPMediaItemPropertyIsCompilation
свойство; возвращенный запрос имеет группирующийся типMPMediaGroupingAlbum
.Обсуждение
Элемент носителей может иметь больше чем один тип среды; например, элемент мог иметь типы «музыка» и «подкаст». A
compilationsQuery
запросите соответствует все элементы носителей, имеющиеMPMediaItemPropertyIsCompilation
свойство, независимо от их типов среды.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
Создает мультимедийный запрос, соответствующий все элементы носителей, и это группируется и наборы видов именем композитора.
Объявление
Swift
class func composersQuery() -> MPMediaQuery!
Objective C
+ (MPMediaQuery *)composersQuery
Возвращаемое значение
Мультимедийный запрос, соответствующий все элементы носителей и это имеет группирующийся тип
MPMediaGroupingComposer
.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
Создает мультимедийный запрос, соответствующий все элементы носителей, и это группируется и наборы видов именем жанра.
Объявление
Swift
class func genresQuery() -> MPMediaQuery!
Objective C
+ (MPMediaQuery *)genresQuery
Возвращаемое значение
Мультимедийный запрос, соответствующий все элементы носителей и это имеет группирующийся тип
MPMediaGroupingGenre
.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
- init
Доступный в iOS 3.0 через iOS 7.1Инициализирует универсальный мультимедийный запрос.
Объявление
Objective C
- (id)init
Обсуждение
Универсальный мультимедийный запрос не имеет никаких предикатов фильтра и никакой конфигурации группировки. Это соответствует все в библиотеке iPod и не обеспечивает группировки или сортировки.
Оператор импорта
Objective C
@import MediaPlayer;
Доступность
Доступный в iOS 3.0 через iOS 7.1.
-
init (filterPredicates:) - initWithFilterPredicates:
Определяемый инициализаторИнициализирует мультимедийный запрос с рядом предикатов свойства носителей.
Объявление
Swift
init!(filterPredicates
filterPredicates
: Set<NSObject>!)Objective C
- (instancetype)initWithFilterPredicates:(NSSet *)
filterPredicates
Параметры
filterPredicates
Набор предикатов свойства носителей для использования в качестве фильтра на библиотеке iPod.
Возвращаемое значение
Инициализированный мультимедийный запрос.
Обсуждение
Ссылка класса MPMediaPropertyPredicate описывает, как создать предикаты свойства носителей.
General Media Item Property Keys
иPodcast Item Property Keys
перечисления в Ссылке класса MPMediaItem содержат ключи, которые можно использовать для построения предикатов.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
filterPredicates
СвойствоПредикаты свойства носителей мультимедийного запроса.
Объявление
Swift
var filterPredicates: Set<NSObject>!
Objective C
@property(nonatomic, strong) NSSet *filterPredicates
Обсуждение
General Media Item Property Keys
иPodcast Item Property Keys
перечисления в Ссылке класса MPMediaItem содержат ключи, которые можно использовать для построения предикатов.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
groupingType
СвойствоГруппировка для наборов получена с мультимедийным запросом.
Объявление
Swift
var groupingType: MPMediaGrouping
Objective C
@property(nonatomic) MPMediaGrouping groupingType
Обсуждение
Тип группировки значения по умолчанию
MPMediaGroupingTitle
. Посмотрите, что Набор элементов Носителей Группирует Ключи для списка доступных типов группировки.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
itemSections
СвойствоМассив
MPMediaQuerySection
экземпляры, представляющие группировку раздела указанных элементов носителей запроса.Объявление
Swift
var itemSections: [AnyObject]! { get }
Objective C
@property(nonatomic, readonly) NSArray *itemSections
Обсуждение
Значение этого свойства может быть
nil
если нет никакой надлежащей группировки раздела элементов носителей.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 4.2 и позже.
-
collectionSections
СвойствоМассив
MPMediaQuerySection
экземпляры, представляющие группировку раздела указанных наборов элементов носителей запроса.Объявление
Swift
var collectionSections: [AnyObject]! { get }
Objective C
@property(nonatomic, readonly) NSArray *collectionSections
Обсуждение
Значение этого свойства может быть
nil
если нет никакой надлежащей группировки раздела наборов элементов носителей.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 4.2 и позже.
-
Добавляет предикат свойства носителей к запросу.
Объявление
Swift
func addFilterPredicate(_
predicate
: MPMediaPredicate!)Objective C
- (void)addFilterPredicate:(MPMediaPredicate *)
predicate
Параметры
predicate
Предикат носителей для добавления к набору предикатов для запроса.
Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
Удаляет предикат фильтра из запроса.
Объявление
Swift
func removeFilterPredicate(_
predicate
: MPMediaPredicate!)Objective C
- (void)removeFilterPredicate:(MPMediaPredicate *)
predicate
Параметры
predicate
Предикат носителей для удаления из набора предикатов для запроса.
Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
Вы получаете указанный массив элементов носителей или наборов элементов носителей от библиотеки iPod путем вызова items
или collections
методы доступа.
-
items
СвойствоМассив элементов носителей, соответствующих предикат мультимедийного запроса.
Объявление
Swift
var items: [AnyObject]! { get }
Objective C
@property(nonatomic, readonly) NSArray *items
Обсуждение
Если никакие элементы не соответствуют предикат, этот метод возвращает пустой массив. На ошибке, возвратах
nil
.Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
collections
СвойствоМассив наборов элементов носителей, содержавшие элементы которых соответствуют предикат свойства носителей запроса.
Объявление
Swift
var collections: [AnyObject]! { get }
Objective C
@property(nonatomic, readonly) NSArray *collections
Обсуждение
Возвращенный массив наборов сгруппирован и сортирован
groupingType
из мультимедийного запроса. Следующий фрагмент кода иллюстрирует, как использовать это свойство:// Specify a media query; this one matches the entire iPod library because it
// does not contain a media property predicate
MPMediaQuery *everything = [[MPMediaQuery alloc] init];
// Configure the media query to group its media items; here, grouped by artist
[everything setGroupingType: MPMediaGroupingArtist];
// Obtain the media item collections from the query
NSArray *collections = [everything collections];
Каждый элемент
collections
массив теперь содержит набор элементов носителей. Каждый набор содержит элементы носителей от библиотеки iPod определенным художником. Элементы массива сортируются именем художника.Для доступных типов группировки посмотрите, что Набор элементов Носителей Группирует Ключи.
Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-
Ключи, используемые с
groupingType
свойство для конфигурирования мультимедийного запроса.Объявление
Swift
enum MPMediaGrouping : Int { case Title case Album case Artist case AlbumArtist case Composer case Genre case Playlist case PodcastTitle }
Objective C
enum { MPMediaGroupingTitle, MPMediaGroupingAlbum, MPMediaGroupingArtist, MPMediaGroupingAlbumArtist, MPMediaGroupingComposer, MPMediaGroupingGenre, MPMediaGroupingPlaylist, MPMediaGroupingPodcastTitle, }; typedef NSInteger MPMediaGrouping;
Константы
-
Title
MPMediaGroupingTitle
Группы и наборы элементов носителей видов заголовком. Для песен, например, заголовок является названием песни. Это - ключ группировки значения по умолчанию.
Доступный в iOS 3.0 и позже.
-
Album
MPMediaGroupingAlbum
Группы и наборы элементов носителей видов альбомом и песни видов в альбоме согласно порядку треков.
Доступный в iOS 3.0 и позже.
-
Artist
MPMediaGroupingArtist
Группы и наборы элементов носителей видов путем выполнения художника.
Доступный в iOS 3.0 и позже.
-
AlbumArtist
MPMediaGroupingAlbumArtist
Группы и наборы элементов носителей видов художником альбома (основной художник выполнения для альбома в целом).
Доступный в iOS 3.0 и позже.
-
Composer
MPMediaGroupingComposer
Группы и наборы элементов носителей видов композитором.
Доступный в iOS 3.0 и позже.
-
Genre
MPMediaGroupingGenre
Группы и наборы элементов носителей видов музыкальным или пленочным жанром.
Доступный в iOS 3.0 и позже.
-
Playlist
MPMediaGroupingPlaylist
Группы и наборы элементов носителей видов списком воспроизведения.
Доступный в iOS 3.0 и позже.
-
PodcastTitle
MPMediaGroupingPodcastTitle
Группы и наборы элементов носителей видов заголовком подкаста.
Доступный в iOS 3.0 и позже.
Обсуждение
Следующий фрагмент кода показывает, как применить группирующийся ключ:
MPMediaQuery *everything = [[MPMediaQuery alloc] init];
[everything setGroupingType: MPMediaGroupingAlbum];
NSArray *collections = [everything collections];
После выполнения этих строк кода,
collections
массив содержит все соответствующие элементы носителей, сгруппированные и сортированные согласно названию альбома.Для получения сортированного списка песен сконфигурируйте мультимедийный запрос с
MPMediaGroupingTitle
ключ, или используют в своих интересах ключ заголовка, являющийся значением по умолчанию для мультимедийного запроса. В любом случае каждый полученный элемент носителей является, в действительности, своим собственным набором.Вид наборов согласно тем же правилам используется iTunes на рабочем столе. Это включает уважение основного системного языка, выбранного пользователем. Передовицы, включая, и при использовании английского языка, или “L’”, «La» и «Le» при использовании французского языка, проигнорированы во время сортировки. Если Вы нуждаетесь в точном управлении сортировкой, реализуете его в Вашем приложении.
Оператор импорта
Objective C
@import MediaPlayer;
Swift
import MediaPlayer
Доступность
Доступный в iOS 3.0 и позже.
-