iOS AVPlayer播放視頻的留白處理

很多開發(fā)者使用AVPlayer播放視頻的時候涩维,會出現(xiàn)留白的問題,使得頁面效果不是很好凡蚜,如下圖:
屏幕快照 2017-11-10 上午11.03.48.png

以上可以看出,在不知道視頻寬高比的時候吭从,給player一個預設高度朝蜘,如果項目中背景色不是深色的時候,會達不到產(chǎn)品的要求涩金。眾所周知谱醇,蘋果官方提供了三種填充模式:

/**
 AVPlayerLayer的videoGravity屬性設置
 AVLayerVideoGravityResize,       // 非均勻模式。兩個維度完全填充至整個視圖區(qū)域
 AVLayerVideoGravityResizeAspect,  // 等比例填充步做,直到一個維度到達區(qū)域邊界
 AVLayerVideoGravityResizeAspectFill, // 等比例填充副渴,直到填充滿整個視圖區(qū)域,其中一個維度的部分區(qū)域會被裁剪
 */
@property (nonatomic, copy) NSString         *videoGravity;

我們一般都默認使用的是AVLayerVideoGravityResizeAspect ,因為使用其他兩種模式會拉伸視頻全度,導致變形煮剧。那么問題來了,想使用AVLayerVideoGravityResizeAspect,又想不留白轿秧,該怎么處理呢中跌?有種辦法是:取得視頻的寬高比,不預設高度菇篡,根據(jù)視頻頁面所在的寬度和取得視頻的寬高比決定視頻頁面的高度漩符,這樣一來,可以解決留白的問題驱还。
取得視頻寬高比的方法:

//獲取視頻寬高比
- (CGFloat )getVideoScale:(NSURL *)URL{
    //獲取視頻尺寸
    AVURLAsset *asset = [AVURLAsset assetWithURL:URL];
    
    NSArray *array = asset.tracks;
    CGSize videoSize = CGSizeZero;
    for (AVAssetTrack *track in array) {
        if ([track.mediaType isEqualToString:AVMediaTypeVideo]) {
            videoSize = track.naturalSize;
        }
    }
    
  return videoSize.height/videoSize.width;
}

如此一來嗜暴,我們只需要根據(jù)這個比例來設定高度:

self.playerView.frame =CGRectMake(0,64,ScreenWidth,ScreenWidth*scale);

效果如圖:


屏幕快照 2017-11-10 上午11.43.17.png

GitHub源碼

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市议蟆,隨后出現(xiàn)的幾起案子闷沥,更是在濱河造成了極大的恐慌,老刑警劉巖咐容,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舆逃,死亡現(xiàn)場離奇詭異,居然都是意外死亡戳粒,警方通過查閱死者的電腦和手機路狮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蔚约,“玉大人奄妨,你說我怎么就攤上這事∑凰睿” “怎么了砸抛?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長树枫。 經(jīng)常有香客問我直焙,道長,這世上最難降的妖魔是什么团赏? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任箕般,我火速辦了婚禮耐薯,結(jié)果婚禮上舔清,老公的妹妹穿的比我還像新娘。我一直安慰自己曲初,他們只是感情好体谒,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著臼婆,像睡著了一般抒痒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上颁褂,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天故响,我揣著相機與錄音傀广,去河邊找鬼。 笑死彩届,一個胖子當著我的面吹牛伪冰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播樟蠕,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼贮聂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了寨辩?” 一聲冷哼從身側(cè)響起吓懈,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎靡狞,沒想到半個月后耻警,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡甸怕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年榕栏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蕾各。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡扒磁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出式曲,到底是詐尸還是另有隱情妨托,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布吝羞,位于F島的核電站兰伤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏钧排。R本人自食惡果不足惜敦腔,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望恨溜。 院中可真熱鬧符衔,春花似錦、人聲如沸糟袁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽项戴。三九已至形帮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背辩撑。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工界斜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人合冀。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓锄蹂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親水慨。 傳聞我的和親對象是個殘疾皇子得糜,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容