GCKMediaMetadata 类

GCKMediaMetadata 类参考

概览

媒体元数据的容器。

元数据具有媒体类型、可选的图片列表以及一组元数据字段。通用元数据字段的键已预定义为常量,但应用可随意定义和使用自己的其他字段。

预定义字段的值具有预定义的类型。例如,曲目编号是 NSInteger,创建日期是包含以 ISO-8601 表示的日期和时间的 NSString。如果尝试在字段中存储错误类型的值,将引发 NSInvalidArgumentException

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

字段值类型有效的元数据类型
kGCKMetadataKeyCreationDate NSDateNSDateGCKMediaMetadataTypePhoto
kGCKMetadataKeyReleaseDate NSDateNSDateGCKMediaMetadataTypeGenericGCKMediaMetadataTypeMovieGCKMediaMetadataTypeTVShowGCKMediaMetadataTypeMusicTrack
kGCKMetadataKeyBroadcastDate NSDateNSDateGCKMediaMetadataTypeTVShow
kGCKMetadataKeyTitle NSStringNSStringGCKMediaMetadataTypeGenericGCKMediaMetadataTypeMovieGCKMediaMetadataTypeTVShowGCKMediaMetadataTypeMusicTrackGCKMediaMetadataTypePhoto
kGCKMetadataKeySubtitle NSStringNSStringGCKMediaMetadataTypeGenericGCKMediaMetadataTypeMovie
kGCKMetadataKeyArtist NSStringNSStringGCKMediaMetadataTypeGenericGCKMediaMetadataTypeMusicTrackGCKMediaMetadataTypePhoto
kGCKMetadataKeyAlbumArtist NSStringNSStringGCKMediaMetadataTypeMusicTrack
kGCKMetadataKeyAlbumTitle NSStringNSStringGCKMediaMetadataTypeMusicTrack
kGCKMetadataKeyComposer NSStringNSStringGCKMediaMetadataTypeMusicTrack
kGCKMetadataKeyDiscNumber NSIntegerNSIntegerGCKMediaMetadataTypeMusicTrack
kGCKMetadataKeyTrackNumber NSIntegerNSIntegerGCKMediaMetadataTypeMusicTrack
kGCKMetadataKeySeasonNumber NSIntegerNSIntegerGCKMediaMetadataTypeTVShow
kGCKMetadataKeyEpisodeNumber NSIntegerNSIntegerGCKMediaMetadataTypeTVShow
kGCKMetadataKeySeriesTitle NSStringNSStringGCKMediaMetadataTypeTVShow
kGCKMetadataKeyStudio NSStringNSStringGCKMediaMetadataTypeMovie
kGCKMetadataKeyWidth NSIntegerNSIntegerGCKMediaMetadataTypePhoto
kGCKMetadataKeyHeight NSIntegerNSIntegerGCKMediaMetadataTypePhoto
kGCKMetadataKeyLocationName NSStringNSStringGCKMediaMetadataTypePhoto
kGCKMetadataKeyLocationLatitude 双精度GCKMediaMetadataTypePhoto
kGCKMetadataKeyLocationLongitude 双精度GCKMediaMetadataTypePhoto

继承 NSObject、<NSCopy> 和 <NSSecureCoding>。

实例方法摘要

(instancetype) - initWithMetadataType:
 使用指定媒体类型初始化一个新的空 MediaMetadata。更多...
 
(instancetype) - init
 使用通用元数据类型进行初始化。更多...
 
(GCKMediaMetadataType- metadataType
 元数据类型。更多...
 
(NSArray *) - images
 获取映像列表。更多...
 
(void) - removeAllMediaImages
 移除当前的所有图片。更多...
 
(void) - addImage:
 向图片列表添加图片。更多...
 
(BOOL) - containsKey:
 测试对象是否包含具有给定键的字段。更多...
 
(NSArray< NSString * > *) - allKeys
 返回对象中存在的所有字段的一组键。更多...
 
(nullable id) - objectForKey:
 读取字段的值。更多...
 
(void) - setString:forKey:
 在字符串字段中存储值。更多...
 
(nullable NSString *) - 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 表示法存储在日期字段中。更多...
 
(nullable NSDate *) - dateForKey:
 从日期的受限 ISO-8601 表示法中读取日期字段的值。更多...
 
(nullable NSString *) - dateAsStringForKey:
 以字符串形式读取日期字段的值。更多...
 

公共属性

NSString *const kGCKMetadataKeyCreationDate
 字符串键:创建日期。更多...
 
NSString *const kGCKMetadataKeyReleaseDate
 字符串键:发行日期。更多...
 
NSString *const kGCKMetadataKeyBroadcastDate
 字符串键:广播日期。更多...
 
NSString *const kGCKMetadataKeyTitle
 字符串键:Title。更多...
 
NSString *const kGCKMetadataKeySubtitle
 字符串键:Subtitle。更多...
 
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
 双键:位置经度。更多...
 
NSString *const kGCKMetadataKeyBookTitle
 字符串键:书名。更多...
 
NSString *const kGCKMetadataKeyChapterNumber
 整数键:章节号。更多...
 
NSString *const kGCKMetadataKeyChapterTitle
 字符串键:章节标题。更多...
 
NSString *const kGCKMetadataKeySectionDuration
 双键:章节时长。更多...
 
NSString *const kGCKMetadataKeySectionStartTimeInMedia
 双键:媒体中的章节开始时间。更多...
 
NSString *const kGCKMetadataKeySectionStartAbsoluteTime
 双键:小节绝对开始时间。更多...
 
NSString *const kGCKMetadataKeySectionStartTimeInContainer
 双键:容器中的部分开始时间。更多...
 
NSString *const kGCKMetadataKeyQueueItemID
 双键:队列项 ID。更多...
 

属性摘要

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

返回对象中存在的所有字段的一组键。

- (nullable id) 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如果键引用的预定义字段不是字符串字段,则系统会抛出该异常。
- (nullable NSString *) 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如果键引用了一个非日期字段的预定义字段,则会发生该错误。
- (nullable NSDate *) dateForKey: (NSString *)  key

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

Parameters
keyThe field name.
返回
日期,或 nil(如果未设置此字段)。
异常
NSInvalidArgumentException如果键引用了一个非日期字段的预定义字段,则会发生该错误。
- (nullable NSString *) 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

字符串键:Title。

媒体的标题。例如,它可以是歌曲、电影或电视节目剧集的标题。此值适合显示。

- (NSString* const) kGCKMetadataKeySubtitle

字符串键:Subtitle。

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

- (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

双键:位置经度。

创建媒体时所用地理位置的经度部分。例如,这可以是照片的地点或电影的主要拍摄地点。

- (NSString* const) kGCKMetadataKeyBookTitle

字符串键:书名。

有声读物的书名。

开始时间
4.3.5
- (NSString* const) kGCKMetadataKeyChapterNumber

整数键:章节号。

有声读物中章节的数量。

开始时间
4.3.5
- (NSString* const) kGCKMetadataKeyChapterTitle

字符串键:章节标题。

有声读物中章节的标题。

开始时间
4.3.5
- (NSString* const) kGCKMetadataKeySectionDuration

双键:章节时长。

该部分的时长(以秒为单位)。用于队列元数据。例如,可以是队列中某电视节目的时长、有声读物的章节时长,或长直播的节目。

开始时间
4.4.1
- (NSString* const) kGCKMetadataKeySectionStartTimeInMedia

双键:媒体中的章节开始时间。

版块开始时间相对于媒体项开头部分的偏移量(以秒为单位)。用于队列元数据。

开始时间
4.4.1
- (NSString* const) kGCKMetadataKeySectionStartAbsoluteTime

双键:小节绝对开始时间。

部分开始的绝对时间(以新纪元时间为单位,以秒为单位)。用于队列元数据。

开始时间
4.4.1
- (NSString* const) kGCKMetadataKeySectionStartTimeInContainer

双键:容器中的部分开始时间。

整个容器内部分开始时间的偏移量。用于队列元数据。

开始时间
4.4.1
- (NSString* const) kGCKMetadataKeyQueueItemID

双键:队列项 ID。

包含区段开始时间的队列项的 ID。用于队列元数据。

开始时间
4.4.1

房源详情

- (GCKMediaMetadataType) metadataType
readnonatomicassign

元数据类型。