AVMetadataItem
AVMetadataItem объект представляет элемент метаданных, связанных с аудиовизуальным активом или с одной из его дорожек. Для создания элементов метаданных для собственных активов Вы используете непостоянный подкласс, AVMutableMetadataItem.
Элементы метаданных имеют ключи, согласующиеся со спецификацией формата контейнера, из которого они привлечены. Полное изложение форматов метаданных, ключей метаданных и ключевых пространств метаданных, поддерживаемых Основой AV, доступно среди определения в Ключевой Ссылке Констант Метаданных Основы AV и Основе AV Константы Метаданных iTunes.
Можно загрузить значения элемента метаданных «лениво» с помощью методов от AVAsynchronousKeyValueLoading протокол (см. Асинхронную Загрузку). AVAsset класс и другие классы поочередно обеспечивают их метаданные лениво так, чтобы можно было получить объекты из тех массивов, не подвергаясь наверху для элементов, которые Вы в конечном счете не проверяете.
Можно отфильтровать массивы элементов метаданных с помощью методов этого класса. Например, можно отфильтровать ключевым и ключевым пространством локалью, и предпочтительным языком.
Наследование
-
NSObject -
AVMetadataItem -
AVMutableMetadataItem
-
NSObject -
AVMetadataItem -
AVMutableMetadataItem
Соответствует
-
AVAsynchronousKeyValueLoading -
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCopying -
NSMutableCopying -
NSObjectProtocol -
Печатаемый -
AVAsynchronousKeyValueLoading -
NSCopying -
NSMutableCopying -
NSObject
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в OS X v10.7 и позже.
-
Ключ элемента метаданных. (только для чтения)
Объявление
Swift
@NSCopying var key: protocol<NSCopying, NSObjectProtocol>! { get }Objective C
@property(readonly, copy) id<NSObject, NSCopying> keyОбсуждение
Ключевое свойство содержит истинный ключ, используемый для идентификации содержания элемента метаданных. Это значение является определенным для ключевого пространства элемента метаданных.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Ключевое пространство ключа элемента метаданных. (только для чтения)
Объявление
Swift
var keySpace: String! { get }Objective C
@property(readonly, copy) NSString *keySpaceОбсуждение
Ключевое пространство, указанное этим свойством, обычно является ключевым пространством по умолчанию для контейнера метаданных, в котором сохранен элемент метаданных.
Основа AV использует ключевые пространства для группировки связанных наборов ключей. Например, платформа определяет различные ключевые пространства для общих ключей, ключей iTunes, ключей ID3 и ключей QuickTime. Ключевые пространства помогают в фильтрации массивов элементов метаданных.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Общий ключ элемента метаданных. (только для чтения)
Объявление
Swift
var commonKey: String! { get }Objective C
@property(readonly, copy) NSString *commonKeyОбсуждение
Это свойство содержит ключ, наиболее близко соответствующий ключу
keyсвойство, но это принадлежит общему ключевому пространству (AVMetadataKeySpaceCommon) в противоположность специфичному для формата ключевому пространству. Можно использовать этот ключ для определения местоположения элементов метаданных независимо от базового формата носителя.Если значение
keySpaceсвойствоAVMetadataKeySpaceCommon, это свойство содержит тот же ключ какkeyсвойство.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
loadValuesAsynchronouslyForKeys (_: completionHandler:) - loadValuesAsynchronouslyForKeys:completionHandler:Говорит получателю загружать значения любого из уже не загружающихся указанных ключей.
Объявление
Swift
func loadValuesAsynchronouslyForKeys(_keys: [AnyObject]!, completionHandlerhandler: (() -> Void)!)Objective C
- (void)loadValuesAsynchronouslyForKeys:(NSArray *)keyscompletionHandler:(void (^)(void))handlerПараметры
keysМассив
NSStringобъекты, каждый из которых представляет один из требуемых ключей.handlerБлок, который будет вызван, когда загрузка успешно выполняется, перестал работать или отменяется.
Обсуждение
Для полного обсуждения посмотрите
AVAsynchronousKeyValueLoading.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Отчеты, доступно ли значение для данного ключа сразу без блокирования.
Объявление
Swift
func statusOfValueForKey(_key: String!, erroroutError: NSErrorPointer) -> AVKeyValueStatusObjective C
- (AVKeyValueStatus)statusOfValueForKey:(NSString *)keyerror:(NSError **)outErrorПараметры
keyКлюч, состояние которого Вы хотите.
outErrorЕсли состояние значения для ключа
AVKeyValueStatusFailed, по возврату содержитNSErrorобъект, описывающий произошедший отказ.Возвращаемое значение
Текущее состояние загрузки значения для
key.Обсуждение
Для полного обсуждения посмотрите
AVAsynchronousKeyValueLoading.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Значение элемента метаданных. (только для чтения)
Объявление
Swift
@NSCopying var value: protocol<NSCopying, NSObjectProtocol>! { get }Objective C
@property(readonly, copy) id<NSObject, NSCopying> valueОператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
продолжительность продолжительностьСвойство -
Локаль элемента метаданных. (только для чтения)
Объявление
Swift
@NSCopying var locale: NSLocale! { get }Objective C
@property(readonly, copy) NSLocale *localeОбсуждение
Локаль может быть
nilесли никакая информация о локали не доступна для элемента метаданных.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
значение данных значение данныхСвойствоОбеспечивает необработанные байты значения элемента метаданных. (только для чтения)
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
extraAttributes extraAttributesСвойствоДополнительные атрибуты предоставляются элементом метаданных. (только для чтения)
Объявление
Swift
var extraAttributes: [NSObject : AnyObject]! { get }Objective C
@property(readonly, copy) NSDictionary *extraAttributesОбсуждение
Дополнительные атрибуты, когда они присутствуют, являются определенными для форматов контейнера метаданных, и вводит их связанные ключевые пространства. Например, «присоединенное изображение» кадр, определенный спецификацией тега ID3, может быть представлено
AVMetadataItemс ключевым пространствомAVMetadataKeySpaceID3, ключAVMetadataID3MetadataKeyAttachedPicture, значение, переносящее данные изображения и дополнительные атрибуты, включающие описание изображения, как перенесено в кадре 'APIC' тега ID3.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
тип данных тип данныхСвойство -
extendedLanguageTag extendedLanguageTagСвойствоIETF BCP 47 (RFC 4646) идентификатор языка элемента метаданных. (только для чтения)
Объявление
Swift
var extendedLanguageTag: String! { get }Objective C
@property(readonly, copy) NSString *extendedLanguageTagОбсуждение
Значение может быть
nilесли никакая информация о языковом теге не доступна.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
-
идентификатор идентификаторСвойство -
Обеспечивает идентификатор метаданных, это эквивалентно ключевому и ключевому пространству.
Объявление
Параметры
keyКлюч метаданных.
keySpaceКлючевое пространство метаданных.
Возвращаемое значение
Идентификатор метаданных, эквивалентный
keyиkeySpace, илиnilесли не может быть создан никакой идентификаторОбсуждение
Ключи метаданных, которые не являются экземплярами
NSString,NSNumber, илиNSDataне может быть преобразован в идентификаторы метаданных; они также не могут быть записаны в медиаресурсы черезAVAssetExportSessionилиAVAssetWriter. Элемент метаданныхkeySpacesдолжна быть строка одного - четырех печатаемых символов ASCII.Для пользовательских идентификаторов,
keySpaceAVMetadataKeySpaceQuickTimeMetadataрекомендуется. ЭтоkeySpaceопределяет его значения ключа, которые будут выражены как строки обратного DNS, который позволяет третьим лицам определять свои собственные ключи в хорошо установленном пути, избегающем коллизий.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
-
Возвращает ключ метаданных, обозначенный идентификатором.
Объявление
Swift
class func keyForIdentifier(_identifier: String!) -> AnyObject!Objective C
+ (id)keyForIdentifier:(NSString *)identifierПараметры
identifierИдентификатор метаданных.
Возвращаемое значение
Ключ метаданных.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
-
Возвращает ключевое пространство метаданных, обозначенное идентификатором.
Объявление
Параметры
identifierИдентификатор метаданных.
Возвращаемое значение
Ключ метаданных.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
-
stringValue stringValueСвойствоЗначение элемента метаданных, отформатированного как строка. (только для чтения)
Объявление
Swift
var stringValue: String! { get }Objective C
@property(readonly) NSString *stringValueОбсуждение
Значение этого свойства
nilесли значение метаданных не может быть представлено как строка.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
numberValue numberValueСвойствоЗначение элемента метаданных, отформатированного как число. (только для чтения)
Объявление
Swift
var numberValue: NSNumber! { get }Objective C
@property(readonly) NSNumber *numberValueОбсуждение
Значение этого свойства
nilесли значение метаданных не может быть представлено как число.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Значение элемента метаданных, отформатированного как дата. (только для чтения)
Обсуждение
Значение этого свойства
nilесли значение метаданных не может быть представлено как дата.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Возвраты из данного массива массив элементов метаданных, соответствующих указанное ключевое или ключевое пространство.
Объявление
Swift
class func metadataItemsFromArray(_array: [AnyObject]!, withKeykey: AnyObject!, keySpacekeySpace: String!) -> [AnyObject]!Параметры
arrayМассив
AVMetadataItemобъекты, которые будут отфильтрованы.keyКлюч, который должен быть соответствующим для элемента метаданных, который будет включен в выходной массив. Ключ по сравнению с ключами в метаданных в использовании массива
isEqual:.Если Вы не хотите фильтровать ключом, передачей
nil.keySpaceКлючевое пространство, которое должно быть соответствующим для элемента метаданных, который будет включен в выходной массив. Ключевое пространство по сравнению с ключевыми пространствами в метаданных в использовании массива
isEqualToString:.Если Вы не хотите фильтровать ключевым пространством, передачей
nil.Возвращаемое значение
Массив элементов метаданных от
arrayто соответствиеkeyилиkeySpace.Обсуждение
Если значение в
keySpaceпараметрAVMetadataKeySpaceCommon, значение элемента метаданныхcommonKeyсвойство должно соответствовать значение вkeyпараметр для элемента, который будет возвращен. Еслиkeyпараметрnil, тогда все элементы метаданных в общем ключевом пространстве возвращаются.Если значение в
keySpaceпараметрnilили не константа для общего ключевого пространства, значения элемента метаданныхkeyсвойство должно соответствовать значение вkeyпараметр для элемента, который будет возвращен. Еслиkeyсам параметрnil, тогда все элементы метаданных в указанном ключевом пространстве возвращаются.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Возвраты из данного массива массив элементов метаданных, соответствующих указанную локаль.
Объявление
Swift
class func metadataItemsFromArray(_array: [AnyObject]!, withLocalelocale: NSLocale!) -> [AnyObject]!Параметры
arrayМассив
AVMetadataItemобъекты, которые будут отфильтрованы.localeЛокаль, которая должна быть соответствующей для элемента метаданных, который будет включен в выходной массив.
Возвращаемое значение
Массив, содержащий
AVMetadataItemобъекты отarrayпараметр, которые соответствуют указанную локаль.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
metadataItemsFromArray (_: filteredAndSortedAccordingToPreferredLanguages:) + metadataItemsFromArray:filteredAndSortedAccordingToPreferredLanguages:Возвращает подмножество элементов метаданных, локали которых соответствуют один из указанных идентификаторов языка.
Объявление
Swift
class func metadataItemsFromArray(_metadataItems: [AnyObject]!, filteredAndSortedAccordingToPreferredLanguagespreferredLanguages: [AnyObject]!) -> [AnyObject]!Параметры
metadataItemsМассив
AVMetadataItemобъекты, которые будут отфильтрованы и сортированы.preferredLanguagesМассив
NSStringобъекты, каждый из которых содержит канонический идентификатор IETF BCP 47 языка. Порядок идентификаторов в массиве отражает предпочтительный порядок языка с самым предпочтительным языком, находящимся первым в массиве. Как правило, Вы передаете предпочтительные языки пользователя путем получения этого массива отpreferredLanguagesметод классаNSLocale.Возвращаемое значение
Массив, содержащий
AVMetadataItemобъекты отmetadataItemsпараметр, которые соответствуют один из указанных языков.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.8 и позже.
-
metadataItemsFromArray (_: filteredByMetadataItemFilter:) + metadataItemsFromArray:filteredByMetadataItemFilter:Фильтрует массив элементов метаданных с помощью фильтра элемента метаданных.
Объявление
Swift
class func metadataItemsFromArray(_metadataItems: [AnyObject]!, filteredByMetadataItemFiltermetadataItemFilter: AVMetadataItemFilter!) -> [AnyObject]!Параметры
metadataItemsМассив
AVMetadataItemsбыть отфильтрованным.metadataItemFilterAVMetadataItemFilterобъект для фильтрации metadataItems.Возвращаемое значение
Экземпляр
NSArrayсодержа элементы метаданных вmetadataItemsэто не было удаленоmetadataItemFilter.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.9 и позже.
См. также
metadataItemFilterForSharing(AVMetadataItemFilter) -
Фильтрует массив элементов метаданных согласно идентификатору.
Объявление
Swift
class func metadataItemsFromArray(_metadataItems: [AnyObject]!, filteredByIdentifieridentifier: String!) -> [AnyObject]!Параметры
metadataItemsМассив элементов метаданных.
identifierИдентификатор, который должен быть соответствующим для элемента метаданных, который будет скопирован в выходной массив. Элементы считают соответствием, не только когда их идентификаторы равны указанному идентификатору, но также и когда их идентификаторы соответствуют указанному идентификатору.
Возвращаемое значение
Массив, содержащий элементы метаданных, соответствующие указанный идентификатор.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
