---
title: AVMetadataItem
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avmetadataitem
---

# AVMetadataItem

A metadata item for an audiovisual asset or one of its tracks.

## Declaration

```swift
class AVMetadataItem
```

## Mentioned in

Loading media data asynchronously Retrieving media metadata Presenting chapter markers

## Overview

Overview To effectively use AVMetadataItem, you need to understand how AVFoundation organizes metadata. To simplify finding and filtering metadata items, the framework groups related metadata into key spaces: Format-specific key spaces. The framework defines several format-specific key spaces. They roughly correlate to a particular container or file format, such as QuickTime (QuickTime metadata and user data) or MP3 (ID3). However, a single asset may contain metadata values across multiple key spaces. To retrieve an asset’s complete collection of format-specific metadata, you use its metadata property. Common key space. There are several common metadata values, such as a movie’s creation date or description, that can exist across multiple key spaces. To help normalize access to this common metadata, the framework provides a common key space that gives access to a limited set of metadata values common to several key spaces. This makes it easy to retrieve commonly used metadata without concern for the specific format. To retrieve an asset’s collection of common metadata, you use its commonMetadata property. Metadata items have keys that accord with the specification of the container format from which they’re drawn. Full details of the metadata formats, metadata keys, and metadata key spaces supported by AVFoundation are available in AVMetadataKeySpace and AVMetadataKey. To load values of a metadata item when you access them for the first time, use the methods from the AVAsynchronousKeyValueLoading protocol. The AVAsset class and other classes in turn provide their metadata as needed so that you can obtain objects from those arrays without incurring overhead for items you don’t inspect. To filter arrays of metadata items, you use the methods of this class. For example, you can filter by key and key space, by locale, and by preferred language.

## Topics

### Creating a metadata item

- [init(propertiesOfMetadataItem:valueLoadingHandler:)](avfoundation/avmetadataitem/init(propertiesofmetadataitem:valueloadinghandler:).md)
- [AVMetadataItemValueRequest](avfoundation/avmetadataitemvaluerequest.md)

### Identifying metadata items

- [identifier](avfoundation/avmetadataitem/identifier.md)

### Loading values

- [dataType](avfoundation/avmetadataitem/datatype.md)
- [value](avfoundation/avpartialasyncproperty/value.md)
- [stringValue](avfoundation/avpartialasyncproperty/stringvalue.md)
- [numberValue](avfoundation/avpartialasyncproperty/numbervalue.md)
- [dateValue](avfoundation/avpartialasyncproperty/datevalue.md)
- [dataValue](avfoundation/avpartialasyncproperty/datavalue.md)
- [extraAttributes](avfoundation/avpartialasyncproperty/extraattributes.md)

### Accessing keys and key spaces

- [key](avfoundation/avmetadataitem/key.md)
- [commonKey](avfoundation/avmetadataitem/commonkey.md)
- [keySpace](avfoundation/avmetadataitem/keyspace.md)

### Accessing timing

- [time](avfoundation/avmetadataitem/time.md)
- [startDate](avfoundation/avmetadataitem/startdate.md)
- [duration](avfoundation/avmetadataitem/duration.md)

### Accessing language support

- [locale](avfoundation/avmetadataitem/locale.md)
- [extendedLanguageTag](avfoundation/avmetadataitem/extendedlanguagetag.md)

### Filtering arrays of metadata items

- [metadataItems(from:filteredByIdentifier:)](avfoundation/avmetadataitem/metadataitems(from:filteredbyidentifier:).md)
- [metadataItems(from:withKey:keySpace:)](avfoundation/avmetadataitem/metadataitems(from:withkey:keyspace:).md)
- [metadataItems(from:with:)](avfoundation/avmetadataitem/metadataitems(from:with:).md)
- [metadataItems(from:filteredAndSortedAccordingToPreferredLanguages:)](avfoundation/avmetadataitem/metadataitems(from:filteredandsortedaccordingtopreferredlanguages:).md)
- [metadataItems(from:filteredBy:)](avfoundation/avmetadataitem/metadataitems(from:filteredby:).md)

### Translating metadata items

- [identifier(forKey:keySpace:)](avfoundation/avmetadataitem/identifier(forkey:keyspace:).md)
- [key(forIdentifier:)](avfoundation/avmetadataitem/key(foridentifier:).md)
- [keySpace(forIdentifier:)](avfoundation/avmetadataitem/keyspace(foridentifier:).md)

### Accessing values

- [value](avfoundation/avmetadataitem/value.md)
- [extraAttributes](avfoundation/avmetadataitem/extraattributes.md)
- [stringValue](avfoundation/avmetadataitem/stringvalue.md)
- [numberValue](avfoundation/avmetadataitem/numbervalue.md)
- [dateValue](avfoundation/avmetadataitem/datevalue.md)
- [dataValue](avfoundation/avmetadataitem/datavalue.md)

### Initializers

- [init(propertiesOf:valueLoadingHandler:)](avfoundation/avmetadataitem/init(propertiesof:valueloadinghandler:).md)

### Default Implementations

- [AVMetadataItem Implementations](avfoundation/avmetadataitem/avmetadataitem-implementations.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [AVMutableMetadataItem](avfoundation/avmutablemetadataitem.md)

### Conforms To

- [AVAsynchronousKeyValueLoading](avfoundation/avasynchronouskeyvalueloading.md)
- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSMutableCopying](foundation/nsmutablecopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Metadata

- [Retrieving media metadata](avfoundation/retrieving-media-metadata.md)
- [AVMutableMetadataItem](avfoundation/avmutablemetadataitem.md)
- [AVMetadataIdentifier](avfoundation/avmetadataidentifier.md)
- [AVMetadataKey](avfoundation/avmetadatakey.md)
- [AVMetadataKeySpace](avfoundation/avmetadatakeyspace.md)
- [AVMetadataExtraAttributeKey](avfoundation/avmetadataextraattributekey.md)
- [AVMetadataFormat](avfoundation/avmetadataformat.md)
- [AVMetadataItemFilter](avfoundation/avmetadataitemfilter.md)
