title: 一句話實(shí)現(xiàn)AVPlayer視頻播放
date: 2017-05-01 15:28:57
categories: "iOS"
tags:
- Objective-C
description: 由于近期項(xiàng)目和視頻相關(guān)的比較多,而項(xiàng)目中別人封裝的不甚滿意,所以自己進(jìn)行了封裝,希望有更好的擴(kuò)展性,同時(shí)希望大家多多提取意見,以便于更好的封裝。
基于AVPlaye封裝的視頻播放器 、一句話即可實(shí)現(xiàn)視頻的播放 支持橫屏、豎屏,監(jiān)聽屏幕旋轉(zhuǎn),上下滑動(dòng)調(diào)節(jié)音量、屏幕亮度,左右滑動(dòng)調(diào)節(jié)播放進(jìn)度,快進(jìn)畫面預(yù)覽等
源碼地址:Github https://github.com/enamor/NIPlayer
原文地址: http://oxy.pub
使用說明:
播放器需要傳入一view 自動(dòng)適應(yīng)view的尺寸 為了簡(jiǎn)化全屏模式統(tǒng)一使用屏幕旋轉(zhuǎn)的方式進(jìn)行適配全屏、目前控制層UI未做詳細(xì)拆分,后期將逐步優(yōu)化、只為做最簡(jiǎn)單的視頻播放器
//此次一句話即可實(shí)現(xiàn)播放 同時(shí)適配橫豎屏、豎立的視頻
[[NIPlayer sharedPlayer] playWithUrl:_url onView:playView];
狀態(tài)欄旋轉(zhuǎn)需要控制器中重寫方法 且需要在info.Plist 添加 View controller-based status bar appearance 設(shè)置成No,默認(rèn)為Yes
- (BOOL)shouldAutorotate {
return NO;
}
//對(duì)播放器內(nèi)部對(duì)以下狀態(tài)做了監(jiān)聽,可以更好的自己處理各種情況
typedef NS_ENUM(NSInteger, NIAVPlayerStatus) {
NIAVPlayerStatusLoading = 0, // 加載視頻
NIAVPlayerStatusReadyToPlay, // 準(zhǔn)備好播放
NIAVPlayerStatusIsPlaying, // 正在播放
NIAVPlayerStatusIsPaused, // 已經(jīng)暫停
NIAVPlayerStatusPlayEnd, // 播放結(jié)束
NIAVPlayerStatusCacheData, // 緩沖視頻
NIAVPlayerStatusCacheEnd, // 緩沖結(jié)束
NIAVPlayerStatusPlayStop, // 播放中斷 (多是沒網(wǎng))
NIAVPlayerStatusItemFailed, // 視頻資源問題
NIAVPlayerStatusEnterBack, // 進(jìn)入后臺(tái)
NIAVPlayerStatusBecomeActive, // 從后臺(tái)返回
};
預(yù)覽: