To receive notifications about tags in the manifest, implement the appropriate notification listener(s).
You can monitor timed metadata by listening for the following events, which notify your application of related activity:
PTTimedMetadataChangedNotification
: Each time a unique subscribed tag is identified during parsing of the content, TVSDK prepares a new PTTimedMetadata
object and dispatches this notification.
The object contains the name of the tag to which you subscribed, the local time in the playback where this tag will appear, and other data.
PTMediaPlayerTimeChangeNotification
: For live/linear streams where the manifest/playlist refreshes periodically, additional custom tags might appear in the updated playlist/manifest, so additional TimedMetadata
objects might be added to the MediaPlayerItem.timedMetadata
property.
This event notifies your application when this happens.
Retrieve the timed metadata in one of the following ways.
Set your application to add itself as a listener to the PTTimedMetadataChangedNotification
notification and fetch the object using PTTimedMetadataKey
.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onTimedMetadataChanged:)
name:PTTimedMetadataChangedNotification object:self.player.currentItem];
- (void) onTimedMetadataChanged:(NSNotification *) notification {
NSDictionary *timedMetadataUserInfo = [[NSDictionary alloc]initWithDictionary: notification.userInfo];
PTTimedMetadata *newTimedMetadata = [timedMetadataUserInfo objectForKey: PTTimedMetadataKey];
}
Access the timedMetadataCollection
property of PTMediaPlayerItem
, which consists of all the PTTimedMetadata
objects that have been notified so far.