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 *)
keys
completionHandler:(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 *)
key
error:(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.Для пользовательских идентификаторов,
keySpace
AVMetadataKeySpaceQuickTimeMetadata
рекомендуется. Это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
быть отфильтрованным.metadataItemFilter
AVMetadataItemFilter
объект для фильтрации 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 и позже.