GCKMediaMetadata 类

GCKMediaMetadata 类参考

概览

媒体元数据的容器。

元数据包含媒体类型、可选的图片列表和元数据字段集合。常见元数据字段的键预定义为常量,但应用可以自由定义和使用自己的其他字段。

预定义字段的值具有预定义类型。例如,轨道号是 NSInteger,创建日期是 NSString,其中包含日期和时间的 ISO-8601 表示形式。尝试在字段中存储错误类型的值会引发 NSInvalidArgumentException

请注意,Cast 协议限制了可用于特定媒体类型的元数据字段。当 MediaMetadata 对象序列化为 JSON 以便传递给 Cast 接收器时,任何不受给定媒体类型支持的预定义字段都不会包含在序列化形式中,但任何应用定义的字段始终都会包含在其中。预定义字段的完整列表如下:

字段值类型有效的元数据类型
kGCKMetadataKeyCreationDate NSDate GCKMediaMetadataTypePhoto
kGCKMetadataKeyReleaseDate NSDate GCKMediaMetadataTypeGenericGCKMediaMetadataTypeMovieGCKMediaMetadataTypeTVShowGCKMediaMetadataTypeMusicTrack
kGCKMetadataKeyBroadcastDate NSDate GCKMediaMetadataTypeTVShow
kGCKMetadataKeyTitle NSString GCKMediaMetadataTypeGenericGCKMediaMetadataTypeMovieGCKMediaMetadataTypeTVShowGCKMediaMetadataTypeMusicTrackGCKMediaMetadataTypePhoto
kGCKMetadataKeySubtitle NSString GCKMediaMetadataTypeGenericGCKMediaMetadataTypeMovie
kGCKMetadataKeyArtist NSString GCKMediaMetadataTypeGenericGCKMediaMetadataTypeMusicTrackGCKMediaMetadataTypePhoto
kGCKMetadataKeyAlbumArtist NSString GCKMediaMetadataTypeMusicTrack
kGCKMetadataKeyAlbumTitle NSString GCKMediaMetadataTypeMusicTrack
kGCKMetadataKeyComposer NSString GCKMediaMetadataTypeMusicTrack
kGCKMetadataKeyDiscNumber NSInteger GCKMediaMetadataTypeMusicTrack
kGCKMetadataKeyTrackNumber NSInteger GCKMediaMetadataTypeMusicTrack
kGCKMetadataKeySeasonNumber NSInteger GCKMediaMetadataTypeTVShow
kGCKMetadataKeyEpisodeNumber NSInteger GCKMediaMetadataTypeTVShow
kGCKMetadataKeySeriesTitle NSString GCKMediaMetadataTypeTVShow
kGCKMetadataKeyStudio NSString GCKMediaMetadataTypeMovie
kGCKMetadataKeyWidth NSInteger GCKMediaMetadataTypePhoto
kGCKMetadataKeyHeight NSInteger GCKMediaMetadataTypePhoto
kGCKMetadataKeyLocationName NSString GCKMediaMetadataTypePhoto
kGCKMetadataKeyLocationLatitude double GCKMediaMetadataTypePhoto
kGCKMetadataKeyLocationLongitude double GCKMediaMetadataTypePhoto

继承自 NSObject。实现 <NSCopying>。

实例方法摘要

(instancetype) - initWithMetadataType:
 使用给定的媒体类型初始化新的空 MediaMetadata。更多…
 
(instancetype) - init
 使用通用元数据类型进行初始化。更多…
 
(GCKMediaMetadataType- metadataType
 元数据类型。更多…
 
(NSArray *) - images
 获取图片列表。更多…
 
(void) - removeAllMediaImages
 移除所有当前图片。更多…
 
(void) - addImage:
 向图片列表添加图片。更多…
 
(BOOL) - containsKey:
 测试对象是否包含具有指定键的字段。更多…
 
(NSArray< NSString * > *) - allKeys
 返回对象中存在的所有字段的键的集合。更多…
 
(id __nullable) - objectForKey:
 读取字段的值。更多…
 
(void) - setString:forKey:
 将值存储在字符串字段中。更多…
 
(NSString *__nullable) - stringForKey:
 读取字符串字段的值。更多…
 
(void) - setInteger:forKey:
 将值存储在整数字段中。更多…
 
(NSInteger) - integerForKey:
 读取整数字段的值。更多…
 
(NSInteger) - integerForKey:defaultValue:
 读取整数字段的值。更多…
 
(void) - setDouble:forKey:
 将值存储在 double 字段中。更多…
 
(double) - doubleForKey:
 读取 double 字段的值。更多…
 
(double) - doubleForKey:defaultValue:
 读取 double 字段的值。更多…
 
(void) - setDate:forKey:
 以受限的 ISO-8601 日期表示法形式存储日期字段中的值。更多…
 
(NSDate *__nullable) - dateForKey:
 从受限的 ISO-8601 日期表示法中读取日期字段的值。更多…
 
(NSString *__nullable) - dateAsStringForKey:
 以字符串形式读取日期字段的值。更多…
 

公开属性

NSString *const kGCKMetadataKeyCreationDate
 字符串键:创建日期。更多…
 
NSString *const kGCKMetadataKeyReleaseDate
 字符串键:发布日期。更多…
 
NSString *const kGCKMetadataKeyBroadcastDate
 字符串键:广播日期。更多…
 
NSString *const kGCKMetadataKeyTitle
 字符串键:标题。更多…
 
NSString *const kGCKMetadataKeySubtitle
 字符串键:副标题。更多…
 
NSString *const kGCKMetadataKeyArtist
 字符串键:音乐人。更多…
 
NSString *const kGCKMetadataKeyAlbumArtist
 字符串键:专辑音乐人。更多…
 
NSString *const kGCKMetadataKeyAlbumTitle
 字符串键:相册标题。更多…
 
NSString *const kGCKMetadataKeyComposer
 字符串键:Composer。更多…
 
NSString *const kGCKMetadataKeyDiscNumber
 整数键:光盘编号。更多…
 
NSString *const kGCKMetadataKeyTrackNumber
 整数键:轨道号。更多…
 
NSString *const kGCKMetadataKeySeasonNumber
 整数键:剧季编号。更多…
 
NSString *const kGCKMetadataKeyEpisodeNumber
 整数键:剧集编号。更多…
 
NSString *const kGCKMetadataKeySeriesTitle
 字符串键:系列图书名称。更多…
 
NSString *const kGCKMetadataKeyStudio
 字符串键:Studio。更多…
 
NSString *const kGCKMetadataKeyWidth
 整数键:宽度。更多…
 
NSString *const kGCKMetadataKeyHeight
 整数键:高度。更多…
 
NSString *const kGCKMetadataKeyLocationName
 字符串键:营业地点名称。更多…
 
NSString *const kGCKMetadataKeyLocationLatitude
 双精度浮点数键:位置纬度。更多…
 
NSString *const kGCKMetadataKeyLocationLongitude
 双精度浮点数键:位置经度。更多…
 

房源摘要

GCKMediaMetadataType metadataType
 元数据类型。更多…
 

方法详细信息

- (instancetype) initWithMetadataType: (GCKMediaMetadataType metadataType

使用给定的媒体类型初始化新的空 MediaMetadata。

指定初始化程序。

Parameters
metadataTypeThe media type; one of the GCKMediaMetadataType constants, or a value greater than or equal to GCKMediaMetadataTypeUser for custom media types.
- (instancetype) init

使用通用元数据类型进行初始化。

- (GCKMediaMetadataType) metadataType

元数据类型。

- (NSArray *) images

获取图片列表。

- (void) removeAllMediaImages

移除所有当前图片。

- (void) addImage: (GCKImage *)  image

向图片列表添加图片。

Parameters
imageThe image to add.
- (BOOL) containsKey: (NSString *)  key

测试对象是否包含具有指定键的字段。

Parameters
keyThe key.
返回
如果相应字段存在,则为
YES;否则为 NO
- (NSArray<NSString *> *) allKeys

返回对象中存在的所有字段的键的集合。

- (id __nullable) objectForKey: (NSString *)  key

读取字段的值。

Parameters
keyThe key for the field.
返回
相应字段的值;如果该字段尚未设置,则为 nil
- (void) setString: (NSString *)  value
forKey: (NSString *)  key 

将值存储在字符串字段中。

Parameters
valueThe new value for the field.
keyThe key for the field.
异常
NSInvalidArgumentException如果键是指非字符串字段的预定义字段。
- (NSString *__nullable) stringForKey: (NSString *)  key

读取字符串字段的值。

Parameters
keyThe key for the field.
返回
相应字段的值;如果该字段尚未设置,则为 nil
异常
NSInvalidArgumentException如果键是指非字符串字段的预定义字段。
- (void) setInteger: (NSInteger)  value
forKey: (NSString *)  key 

将值存储在整数字段中。

Parameters
valueThe new value for the field.
keyThe key for the field.
异常
NSInvalidArgumentException如果键是指非整数的预定义字段。
- (NSInteger) integerForKey: (NSString *)  key

读取整数字段的值。

Parameters
keyThe key for the field.
返回
相应字段的值,如果该字段尚未设置,则为 0。
异常
NSInvalidArgumentException如果键是指非整数的预定义字段。
- (NSInteger) integerForKey: (NSString *)  key
defaultValue: (NSInteger)  defaultValue 

读取整数字段的值。

Parameters
keyThe key for the field.
defaultValueThe value to return if the field has not been set.
返回
相应字段的值;如果该字段尚未设置,则为给定的默认值。
异常
NSInvalidArgumentException如果键是指非整数的预定义字段。
- (void) setDouble: (double)  value
forKey: (NSString *)  key 

将值存储在 double 字段中。

Parameters
valueThe new value for the field.
keyThe key for the field.
异常
NSInvalidArgumentException如果键是指不是 double 字段的预定义字段。
- (double) doubleForKey: (NSString *)  key

读取 double 字段的值。

Parameters
keyThe key for the field.
返回
相应字段的值,如果该字段尚未设置,则为 0。
异常
NSInvalidArgumentException如果键是指不是 double 字段的预定义字段。
- (double) doubleForKey: (NSString *)  key
defaultValue: (double)  defaultValue 

读取 double 字段的值。

Parameters
defaultValueThe value to return if the field has not been set.
keyThe key for the field.
返回
相应字段的值;如果该字段尚未设置,则为给定的默认值。
异常
NSInvalidArgumentException如果键是指不是 double 字段的预定义字段。
- (void) setDate: (NSDate *)  date
forKey: (NSString *)  key 

以受限的 ISO-8601 日期表示法形式存储日期字段中的值。

Parameters
dateThe new value for the field.
keyThe key for the field.
异常
NSInvalidArgumentException如果键是指非日期字段的预定义字段。
- (NSDate *__nullable) dateForKey: (NSString *)  key

从受限的 ISO-8601 日期表示法中读取日期字段的值。

Parameters
keyThe field name.
返回
相应日期;如果未设置此字段,则为 nil
异常
NSInvalidArgumentException如果键是指非日期字段的预定义字段。
- (NSString *__nullable) dateAsStringForKey: (NSString *)  key

以字符串形式读取日期字段的值。

Parameters
keyThe field name.
返回
日期,以包含受限 ISO-8601 日期表示法的字符串形式表示;如果此字段尚未设置,则为 nil
异常
NSInvalidArgumentException如果键是指非日期字段的预定义字段。

会员数据文档

- (NSString* const) kGCKMetadataKeyCreationDate

字符串键:创建日期。

该值是媒体的创建日期和/或时间,采用 ISO-8601 格式。例如,照片的拍摄日期和时间或音乐作品的录制日期和时间。

- (NSString* const) kGCKMetadataKeyReleaseDate

字符串键:发布日期。

该值是媒体的发布日期和/或时间,采用 ISO-8601 格式。例如,可以是电影或音乐专辑的发布日期。

- (NSString* const) kGCKMetadataKeyBroadcastDate

字符串键:广播日期。

该值是媒体首次播放的日期和/或时间,采用 ISO-8601 格式。例如,这可以是电视节目剧集的首播日期。

- (NSString* const) kGCKMetadataKeyTitle

字符串键:标题。

媒体的标题。例如,歌曲、电影或电视节目剧集的名称。此值适合用于显示目的。

- (NSString* const) kGCKMetadataKeySubtitle

字符串键:副标题。

媒体的副标题。此值适合用于显示目的。

- (NSString* const) kGCKMetadataKeyArtist

字符串键:音乐人。

媒体的创作者的名称。例如,可以是音乐家、表演者或摄影师的姓名。此值适合用于显示目的。

- (NSString* const) kGCKMetadataKeyAlbumArtist

字符串键:专辑音乐人。

制作专辑的音乐人的名称。例如,在 DJ 混音等合辑中,专辑音乐人未必与专辑中单首歌曲的音乐人相同。此值适合用于显示目的。

- (NSString* const) kGCKMetadataKeyAlbumTitle

字符串键:相册标题。

音乐曲目所属专辑的标题。此值适合用于显示目的。

- (NSString* const) kGCKMetadataKeyComposer

字符串键:Composer。

音乐曲目的作曲家的姓名。此值适合用于显示目的。

- (NSString* const) kGCKMetadataKeyDiscNumber

整数键:光盘编号。

音乐轨道所属的多光盘专辑中的光盘编号(从 1 开始计数)。

- (NSString* const) kGCKMetadataKeyTrackNumber

整数键:轨道号。

专辑光盘上音乐曲目的轨道号。通常,轨道编号从 1 开始计数,但如果轨道是专辑开头的“隐藏轨道”,则此值可能为 0。

- (NSString* const) kGCKMetadataKeySeasonNumber

整数键:剧季编号。

电视节目剧集所属的季数。季号通常从 1 开始计数,但如果剧集是电视连续剧正式开播之前的“试播”集,则此值可能为 0。

- (NSString* const) kGCKMetadataKeyEpisodeNumber

整数键:剧集编号。

电视节目的指定剧季中的集数。通常,剧集编号从 1 开始计数,但如果剧集是“试播集”,不被视为第一季的正式剧集,则此值可能为 0。

- (NSString* const) kGCKMetadataKeySeriesTitle

字符串键:系列图书名称。

系列的名称。例如,这可以是电视节目或一系列相关音乐专辑的名称。此值适合用于显示目的。

- (NSString* const) kGCKMetadataKeyStudio

字符串键:Studio。

制作媒体的录音室的名称。例如,电影制片厂或唱片公司的名称。此值适合用于显示目的。

- (NSString* const) kGCKMetadataKeyWidth

整数键:宽度。

媒体片段的宽度,以像素为单位。这通常用于提供照片的尺寸。

- (NSString* const) kGCKMetadataKeyHeight

整数键:高度。

媒体内容的高度(以像素为单位)。这通常用于提供照片的尺寸。

- (NSString* const) kGCKMetadataKeyLocationName

字符串键:营业地点名称。

媒体内容拍摄地点的名称。例如,可以是照片的拍摄地点或电影的主要拍摄地点。此值适合用于显示目的。

- (NSString* const) kGCKMetadataKeyLocationLatitude

双精度浮点数键:位置纬度。

媒体内容创建地点的地理位置的纬度分量。例如,可以是照片的拍摄地点或电影的主要拍摄地点。

- (NSString* const) kGCKMetadataKeyLocationLongitude

双精度浮点数键:位置经度。

媒体内容创建地点的地理位置的经度分量。例如,可以是照片的拍摄地点或电影的主要拍摄地点。

媒体资源详情

- (GCKMediaMetadataType) metadataType
readnonatomicassign

元数据类型。