APSMediaPlayerProtocol
Objective-C
@protocol APSMediaPlayerProtocol <NSObject>
                Swift
protocol APSMediaPlayerProtocol : NSObjectProtocol
                This protocol allows 3rd party implementations of the media rendering engine that stands behind Veeplay. This protocol extends the KRAdapter protocol, so objects should also implement a type method, returning a unique string to register under.
To use:
- Create a new class that implements this protocol
 Register it with the player shared instance:
[[APSMediaPlayer sharedInstance] registerClass:[<YOURCLASS> class] inGroup:kAPSMediaPlayerBackendsGroup];Set up the class with the player:
[[APSMediaPlayer sharedInstance] setBackendPlayerClass:[<YOURCLASS> class]];
- 
                  
                  
The container
UIViewof the player.Declaration
Objective-C
@required @property (nonatomic, readonly) UIView *_Nullable view;Swift
var view: UIView? { get } 
- 
                  
                  
Returns a Boolean value specifing if the player is ready to play media
Declaration
Objective-C
@required @property (nonatomic, readonly) BOOL isPreparedToPlay;Swift
var isPreparedToPlay: Bool { get } - 
                  
                  
Get or set the initial time in stream from which the player will start playing the media
Declaration
Objective-C
@required @property (nonatomic, assign, unsafe_unretained, readwrite) NSTimeInterval initialPlaybackTime;Swift
var initialPlaybackTime: TimeInterval { get set } - 
                  
                  
Get or set the current position in stream
Declaration
Objective-C
@required @property (nonatomic, assign, unsafe_unretained, readwrite) NSTimeInterval currentPlaybackTime;Swift
var currentPlaybackTime: TimeInterval { get set } - 
                  
                  
Get the duration of the buffered content
Declaration
Objective-C
@required @property (nonatomic, readonly) NSTimeInterval playableDuration;Swift
var playableDuration: TimeInterval { get } - 
                  
                  
Get the total duration of the video
Declaration
Objective-C
@required @property (nonatomic, readonly) NSTimeInterval duration;Swift
var duration: TimeInterval { get } - 
                  
                  
Get or set the current playback rate
Declaration
Objective-C
@required @property (nonatomic, assign, unsafe_unretained, readwrite) float currentPlaybackRate;Swift
var currentPlaybackRate: Float { get set } - 
                  
                  
Get or set the current media’s URL
Declaration
Objective-C
@required @property (nonatomic, strong, readwrite) NSURL *_Nullable contentURL;Swift
var contentURL: URL? { get set } - 
                  
                  
Get or set the scaling mode of the video according to its viewport
Declaration
Objective-C
@required @property (nonatomic, assign, unsafe_unretained, readwrite) APSMovieScalingMode scalingMode;Swift
var scalingMode: APSMovieScalingMode { get set } - 
                  
                  
Get or set if the player should autoplay an URL as soon as it is provided
Declaration
Objective-C
@required @property (nonatomic, assign, unsafe_unretained, readwrite) BOOL shouldAutoplay;Swift
var shouldAutoplay: Bool { get set } - 
                  
                  
Get the current playback state
Declaration
Objective-C
@required @property (nonatomic, readonly) APSMoviePlaybackState playbackState;Swift
var playbackState: APSMoviePlaybackState { get } - 
                  
                  
Get the current state of the buffer
Declaration
Objective-C
@required @property (nonatomic, readonly) APSMovieLoadState loadState;Swift
var loadState: APSMovieLoadState { get } - 
                  
                  
Get the current media’s source type (e.g. file or stream)
Declaration
Objective-C
@required @property (nonatomic, assign, unsafe_unretained, readwrite) APSMovieSourceType movieSourceType;Swift
var movieSourceType: APSMovieSourceType { get set } - 
                  
                  
Set or get how the player controls will appear
Declaration
Objective-C
@required @property (nonatomic, assign, unsafe_unretained, readwrite) APSMovieControlStyle controlStyle;Swift
var controlStyle: APSMovieControlStyle { get set } - 
                  
                  
Obtains the most recent time-based metadata provided by the streamed movie.
Returns an array of the most recent MPTimedMetadata objects provided by the media stream.
Declaration
Objective-C
@required @property (nonatomic, readonly) NSArray *_Nullable timedMetadata;Swift
var timedMetadata: [Any]? { get } - 
                  
                  
Specifies whether the movie player allows AirPlay movie playback.
Declaration
Objective-C
@required @property (nonatomic, assign, unsafe_unretained, readwrite) BOOL allowsAirPlay;Swift
var allowsAirPlay: Bool { get set } - 
                  
                  
Check out if AirPlay video is started or stopped.
Declaration
Objective-C
@required @property (nonatomic, readonly) BOOL airPlayVideoActive;Swift
var airPlayVideoActive: Bool { get } 
- 
                  
                  
Prepare to play media. This is also automatically called on play
Declaration
Objective-C
- (void)prepareToPlay;Swift
func prepareToPlay() - 
                  
                  
Play the current media in the queue
Declaration
Objective-C
- (void)play;Swift
func play() - 
                  
                  
Pause the current playing media
Declaration
Objective-C
- (void)pause;Swift
func pause() - 
                  
                  
Stop the player, remove all the items from the queue and remove the player’s CALayer from its superlayer
Declaration
Objective-C
- (void)stop;Swift
func stop() - 
                  
                  
Play the media with an increased playback rate (speed)
Declaration
Objective-C
- (void)beginSeekingForward;Swift
func beginSeekingForward() - 
                  
                  
Rewind the media
Declaration
Objective-C
- (void)beginSeekingBackward;Swift
func beginSeekingBackward() - 
                  
                  
Stop the seeking process startd by beginSeekingForward or beginSeekingBackward;
Declaration
Objective-C
- (void)endSeeking;Swift
func endSeeking() - 
                  
                  
Get the stream’s source type. Different by movieSourceType because it returns if the stream is a VOD stream or a live stream.
Declaration
Objective-C
- (APSMovieStreamSourceType)streamSourceType;Swift
func streamSourceType() -> APSMovieStreamSourceTypeReturn Value
The stream’s type as a
APSMovieStreamSourceTypeenum - 
                  
                  
Request a thumbnail image
Warning
This method should execute blocking operations on a background thread, and should invoke the callback block on the main thread.
Declaration
Objective-C
- (void)thumbnailAt:(NSTimeInterval)playbackTime withCompletionBlock:(APSThumbnailGeneratedBlock _Nonnull)block;Swift
func thumbnail(at playbackTime: TimeInterval, withCompletionBlock block: @escaping APSThumbnailGeneratedBlock)Parameters
playbackTimeThe time when the thumbnail should be taken from the video.
blockThe block to be invoked on thumbnail generation completion.
 - 
                  
                  
Set the sound volume of the player, in the range of 0.0 to 1.0.
Declaration
Objective-C
- (void)setVolume:(CGFloat)volume;Swift
func setVolume(_ volume: CGFloat)Parameters
volumeCGFloatsound volume. - 
                  
                  
Get the sound volume of the player, in the range of 0.0 to 1.0.
Declaration
Objective-C
- (CGFloat)getVolume;Swift
func getVolume() -> CGFloatReturn Value
The sound volume of the player
 - 
                  
                  
Mute the player
Declaration
Objective-C
- (void)setMute:(BOOL)mute;Swift
func setMute(_ mute: Bool)Parameters
muteBOOLset YES to mute or NO to unmute. - 
                  
                  
Get if the player is muted or no
Declaration
Objective-C
- (BOOL)getMute;Swift
func getMute() -> BoolReturn Value
The mute status
 
- 
                  
                  
Add an URL to the current play queue
Declaration
Objective-C
- (void)appendURL:(NSURL *_Nonnull)url;Swift
optional func append(_ url: URL)Parameters
urlA NSURL instance pointing to the media location
 - 
                  
                  
Insert an URL to the current play queue at the given position
Declaration
Objective-C
- (void)insertURL:(NSURL *_Nonnull)url atIndex:(NSInteger)index;Swift
optional func insert(_ url: URL, at index: Int)Parameters
urlA NSURL instance pointing to the media location
 - 
                  
                  
The priority based on which the backend will be selected
Declaration
Objective-C
+ (NSInteger)backendPriority;Swift
optional static func backendPriority() -> Int - 
                  
                  
This is invoked by the player before setting a new URL for playback
Declaration
Objective-C
- (void)willSetURL:(NSURL *_Nonnull)url;Swift
optional func willSetURL(_ url: URL)Parameters
urlA NSURL instance pointing to the media location
 - 
                  
                  
This is invoked by the player after setting a new URL for playback
Declaration
Objective-C
- (void)didSetURL:(NSURL *_Nonnull)url;Swift
optional func didSetURL(_ url: URL)Parameters
urlA NSURL instance pointing to the media location
 - 
                  
                  
This is invoked by the player after playback is complete
Declaration
Objective-C
- (void)clear;Swift
optional func clear() - 
                  
                  
Start Picture in Picture, if possible
Declaration
Objective-C
- (void)startPictureInPicture;Swift
optional func startPictureInPicture() - 
                  
                  
Stop Picture in Picture
Declaration
Objective-C
- (void)stopPictureInPicture;Swift
optional func stopPictureInPicture() - 
                  
                  
Get Picture in Picture status
Declaration
Objective-C
- (BOOL)isPictureInPictureActive;Swift
optional func isPictureInPictureActive() -> Bool - 
                  
                  
Get a list of available subtitles
Declaration
Objective-C
- (NSDictionary<NSString *, NSString *> *_Nonnull)availableSubtitles;Swift
optional func availableSubtitles() -> [String : String]Return Value
A
NSDictionarycontaining the subtitles in format {“language_code”: “Language name”} - 
                  
                  
Enable the corresponding subtitle for the given language
Declaration
Objective-C
- (void)enableSubtitle:(NSString *_Nonnull)language;Swift
optional func enableSubtitle(_ language: String)Parameters
languageNSStringthe language code to enable - 
                  
                  
Get a list of available audio tracks
Declaration
Objective-C
- (NSDictionary *_Nonnull)availableAudioTracks;Swift
optional func availableAudioTracks() -> [AnyHashable : Any]Return Value
A
NSDictionaryof available audio tracks in format {“track_id”: “Track name”} - 
                  
                  
Select a track id
Declaration
Objective-C
- (void)enableAudioTrack:(NSString *_Nonnull)trackId;Swift
optional func enableAudioTrack(_ trackId: String)Parameters
trackIdNSStringthe ID of the audio track to enable 
      APSMediaPlayerProtocol Protocol Reference