AI-generated Key Takeaways
-
IMAVideoDisplay
is a protocol used for ad playback, allowing publishers to manage video content within their applications. -
It provides controls for playback, such as
play
,pause
,reset
, andseekStreamToTime
, enabling basic video interactions. -
Publishers can use the
delegate
property to receive player events from the SDK. -
loadStream
method facilitates the loading of video streams with optional subtitles, catering to dynamic ad insertion for VOD streams. -
The
volume
property allows adjusting the ad's volume relative to the device's overall volume.
IMAVideoDisplay
@protocol IMAVideoDisplay <IMAAdPlaybackInfo>
Declares a simple video display class used for ad playback.
-
Allows the publisher to send player events to the SDK.
Declaration
Swift
weak var delegate: (any IMAVideoDisplayDelegate)? { get set }
Objective-C
@property (nonatomic, weak, nullable) id<IMAVideoDisplayDelegate> delegate;
-
Set and get the volume for the current ad. From 0 (muted) to 1 (loudest). This volume is relative to device volume, not absolute. Default value is 1.
Declaration
Swift
var volume: Float { get set }
Objective-C
@property (nonatomic) float volume;
-
Called to inform the VideoDisplay to load the passed URL with the subtitles for the stream. Subtitles are available only for dynamic ad insertion VOD streams and can be ignored for client side ads or dynamic ad insertion live streams.
Declaration
Swift
func loadStream(_ streamURL: URL, withSubtitles subtitles: [[String : String]])
Objective-C
- (void)loadStream:(nonnull NSURL *)streamURL withSubtitles: (nonnull NSArray<NSDictionary<NSString *, NSString *> *> *)subtitles;
Parameters
streamURL
the URL of the stream
subtitles
the subtitles for the stream. Each entry in the subtitles array is an NSDictionary that corresponds to a language. Each dictionary will have a language key with a two letter language string value, a language name to specify the set of subtitles if multiple sets exist for the same language, and one or more subtitle key/value pairs. Here’s an example NSDictionary for English:
"language" -> "en" "language_name" -> "English" "webvtt" -> "https://somedomain.com/vtt/en.vtt" "ttml" -> "https://somedomain.com/ttml/en.ttml"
-
Called to inform the VideoDisplay to play.
Declaration
Swift
func play()
Objective-C
- (void)play;
-
Called to inform the VideoDisplay to pause.
Declaration
Swift
func pause()
Objective-C
- (void)pause;
-
Called to remove all video assets from the player.
Declaration
Swift
func reset()
Objective-C
- (void)reset;
-
Called to inform that the stream needs to be seeked to the given time.
Declaration
Swift
func seekStream(toTime time: TimeInterval)
Objective-C
- (void)seekStreamToTime:(NSTimeInterval)time;
Parameters
time
the time to which the stream should be seeked