屬性 | 說明 |
@property (nonatomic, copy) NSURL *contentURL | 播放媒體URL,這個URL可以是本地路徑,也可以是網絡路徑 |
@property (nonatomic, readonly) UIView *view | 播放器視圖,如果要顯示視頻必須將此視圖添加到控制器視圖中 |
@property (nonatomic, readonly) UIView *backgroundView | 播放器背景視圖 |
@property (nonatomic, readonly) MPMoviePlaybackState playbackState | 媒體播放狀態,枚舉類型: MPMoviePlaybackStateStopped:停止播放 MPMoviePlaybackStatePlaying:正在播放 MPMoviePlaybackStatePaused:暫停 MPMoviePlaybackStateInterrupted:中斷 MPMoviePlaybackStateSeekingForward:向前定位 MPMoviePlaybackStateSeekingBackward:向后定位 |
@property (nonatomic, readonly) MPMovieLoadState loadState | 網絡媒體加載狀態,枚舉類型: MPMovieLoadStateUnknown:位置類型 MPMovieLoadStatePlayable: MPMovieLoadStatePlaythroughOK:這種狀態如果shouldAutoPlay為YES將自動播放 MPMovieLoadStateStalled:停滯狀態 |
@property (nonatomic) MPMovieControlStyle controlStyle | 控制面板風格,枚舉類型: MPMovieControlStyleNone:無控制面板 MPMovieControlStyleEmbedded:嵌入視頻風格 MPMovieControlStyleFullscreen:全屏 MPMovieControlStyleDefault:默認風格 |
@property (nonatomic) MPMovieRepeatMode repeatMode; | 重復播放模式,枚舉類型: MPMovieRepeatModeNone:不重復,默認值 MPMovieRepeatModeOne:重復播放 |
@property (nonatomic) BOOL shouldAutoplay | 當網絡媒體緩存到一定數據時是否自動播放,默認為YES |
@property (nonatomic, getter=isFullscreen) BOOL fullscreen | 是否全屏展示,默認為NO,注意如果要通過此屬性設置全屏必須在視圖顯示完成后設置,否則無效 |
@property (nonatomic) MPMovieScalingMode scalingMode | 視頻縮放填充模式,枚舉類型: MPMovieScalingModeNone:不進行任何縮放 MPMovieScalingModeAspectFit:固定縮放比例並且盡量全部展示視頻,不會裁切視頻 MPMovieScalingModeAspectFill:固定縮放比例並填充滿整個視圖展示,可能會裁切視頻 MPMovieScalingModeFill:不固定縮放比例壓縮填充整個視圖,視頻不會被裁切但是比例失衡 |
@property (nonatomic, readonly) BOOL readyForDisplay | 是否有相關媒體被播放 |
@property (nonatomic, readonly) MPMovieMediaTypeMask movieMediaTypes | 媒體類別,枚舉類型: MPMovieMediaTypeMaskNone:未知類型 MPMovieMediaTypeMaskVideo:視頻 MPMovieMediaTypeMaskAudio:音頻 |
@property (nonatomic) MPMovieSourceType movieSourceType | 媒體源,枚舉類型: MPMovieSourceTypeUnknown:未知來源 MPMovieSourceTypeFile:本地文件 MPMovieSourceTypeStreaming:流媒體(直播或點播) |
@property (nonatomic, readonly) NSTimeInterval duration | 媒體時長,如果未知則返回0 |
@property (nonatomic, readonly) NSTimeInterval playableDuration | 媒體可播放時長,主要用於表示網絡媒體已下載視頻時長 |
@property (nonatomic, readonly) CGSize naturalSize | 視頻實際尺寸,如果未知則返回CGSizeZero |
@property (nonatomic) NSTimeInterval initialPlaybackTime | 起始播放時間 |
@property (nonatomic) NSTimeInterval endPlaybackTime | 終止播放時間 |
@property (nonatomic) BOOL allowsAirPlay | 是否允許無線播放,默認為YES |
@property (nonatomic, readonly, getter=isAirPlayVideoActive) BOOL airPlayVideoActive | 當前媒體是否正在通過AirPlay播放 |
@property(nonatomic, readonly) BOOL isPreparedToPlay | 是否准備好播放 |
@property(nonatomic) NSTimeInterval currentPlaybackTime | 當前播放時間,單位:秒 |
@property(nonatomic) float currentPlaybackRate | 當前播放速度,如果暫停則為0,正常速度為1.0,非0數據表示倍率 |
對象方法 | 說明 |
- (instancetype)initWithContentURL:(NSURL *)url | 使用指定的URL初始化媒體播放控制器對象 |
- (void)setFullscreen:(BOOL)fullscreen animated:(BOOL)animated | 設置視頻全屏,注意如果要通過此方法設置全屏則必須在其視圖顯示之后設置,否則無效 |
- (void)requestThumbnailImagesAtTimes:(NSArray *)playbackTimes timeOption:(MPMovieTimeOption)option | 獲取在指定播放時間的視頻縮略圖,第一個參數是獲取縮略圖的時間點數組;第二個參數代表時間點精度,枚舉類型: MPMovieTimeOptionNearestKeyFrame:時間點附近 MPMovieTimeOptionExact:准確時間 |
- (void)cancelAllThumbnailImageRequests | 取消所有縮略圖獲取請求 |
- (void)prepareToPlay | 准備播放,加載視頻數據到緩存,當調用play方法時如果沒有准備好會自動調用此方法 |
- (void)play | 開始播放 |
- (void)pause | 暫停播放 |
- (void)stop | 停止播放 |
- (void)beginSeekingForward | 向前定位 |
- (void)beginSeekingBackward | 向后定位 |
- (void)endSeeking | 停止快進/快退 |
通知 | 說明 |
MPMoviePlayerScalingModeDidChangeNotification | 視頻縮放填充模式發生改變 |
MPMoviePlayerPlaybackDidFinishNotification | 媒體播放完成或用戶手動退出,具體完成原因可以通過通知userInfo中的key為MPMoviePlayerPlaybackDidFinishReasonUserInfoKey的對象獲取 |
MPMoviePlayerPlaybackStateDidChangeNotification | 播放狀態改變,可配合playbakcState屬性獲取具體狀態 |
MPMoviePlayerLoadStateDidChangeNotification | 媒體網絡加載狀態改變 |
MPMoviePlayerNowPlayingMovieDidChangeNotification | 當前播放的媒體內容發生改變 |
MPMoviePlayerWillEnterFullscreenNotification | 將要進入全屏 |
MPMoviePlayerDidEnterFullscreenNotification | 進入全屏后 |
MPMoviePlayerWillExitFullscreenNotification | 將要退出全屏 |
MPMoviePlayerDidExitFullscreenNotification | 退出全屏后 |
MPMoviePlayerIsAirPlayVideoActiveDidChangeNotification | 當媒體開始通過AirPlay播放或者結束AirPlay播放 |
MPMoviePlayerReadyForDisplayDidChangeNotification | 視頻顯示狀態改變 |
MPMovieMediaTypesAvailableNotification | 確定了媒體可用類型后 |
MPMovieSourceTypeAvailableNotification | 確定了媒體來源后 |
MPMovieDurationAvailableNotification | 確定了媒體播放時長后 |
MPMovieNaturalSizeAvailableNotification | 確定了媒體的實際尺寸后 |
MPMoviePlayerThumbnailImageRequestDidFinishNotification | 縮略圖請求完成之后 |
MPMediaPlaybackIsPreparedToPlayDidChangeNotification | 做好播放准備后 |