欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

零基礎(chǔ)學(xué)習(xí)iOS直播之播放

 更新時(shí)間:2016年12月27日 10:33:10   作者:豆丶漿油條  
對(duì)于直播來(lái)說(shuō),客戶端主要做兩件事情,推流和播放。本篇主要對(duì)播放進(jìn)行詳細(xì)介紹,需要的朋友一起來(lái)看下吧

對(duì)于直播來(lái)說(shuō),客戶端主要做兩件事情,推流和播放。今天先講播放。

播放流程

  1. 拉流:服務(wù)器已有直播內(nèi)容,從指定地址進(jìn)行拉取的過(guò)程。其實(shí)就是向服務(wù)器請(qǐng)求數(shù)據(jù)。
  2. 解碼:對(duì)視屏數(shù)據(jù)進(jìn)行解壓縮。
  3. 渲染:生成圖片的過(guò)程。視屏其實(shí)就是一張張連續(xù)的圖片進(jìn)行切換,一張圖片就是一幀。幀率顧名思義就是每秒顯示的圖片數(shù),當(dāng)幀率達(dá)到16時(shí),人眼就會(huì)認(rèn)為是流暢的。是不是很神奇。

這里的每個(gè)步驟能弄明白都可以成為人才了,如果還能解決其中的不足,那你就是尖端人才了。弄懂這些需要耗費(fèi)大量的時(shí)間,還好有ijkplayer視屏直播框架,有了它,即時(shí)你不懂這些過(guò)程,也可以進(jìn)行直播播放,大神真多。

ijkplayer視屏直播框架

ijkplayer視屏直播框架下載地址,這是開(kāi)源的,喜歡研究源碼的同學(xué)可以去下載,,基于ffmpeg,同時(shí)支持iOS和Android,非常強(qiáng)大。上述的三個(gè)過(guò)程它全給你做好了,只要你集成到自己工程里,就能實(shí)現(xiàn)播放直播了。

&emsp ;集成到自己的工程中,最好先打包,我這里用打包好的debug模式下的,可以去http://xiazai.jb51.net/201612/yuanma/IJKMediaFramework.framework_jb51.rar下載。怎么集成的,同學(xué)們可以去看這篇文章《詳解iOS中集成ijkplayer視頻直播框架》。和導(dǎo)入第三方庫(kù)一樣,導(dǎo)入到自己工程中,同時(shí)還要添加依賴的動(dòng)態(tài)庫(kù)。

直播

#import "FHLiveViewController.h"
#import <IJKMediaFramework/IJKMediaFramework.h>
#import <UIImageView+WebCache.h>
// ijk下載地址: https://pan.baidu.com/s/1c2p9D0s
@interface FHLiveViewController ()
// 播放器
@property (nonatomic, strong) IJKFFMoviePlayerController *playerVC;
@end
@implementation FHLiveViewController

- (void)viewDidLoad {
 [super viewDidLoad];
 // 隱藏導(dǎo)航欄
 [self.navigationController.navigationBar setHidden:YES];
 // 設(shè)置背景色
 [self.view setBackgroundColor:[UIColor whiteColor]];
 // 拉流地址
 NSURL *url = [NSURL URLWithString:self.liveUrl];
 // 實(shí)例化播放器,傳入拉流地址即可
 _playerVC = [[IJKFFMoviePlayerController alloc] initWithContentURL:url withOptions:nil];
 // 準(zhǔn)備播放 準(zhǔn)備好了自動(dòng)播放
 [_playerVC prepareToPlay];
 // 設(shè)置播放器尺寸
 _playerVC.view.frame = [[UIScreen mainScreen] bounds];
 [self.view addSubview:_playerVC.view];
 // 設(shè)置填充模式:鋪滿
 [_playerVC setScalingMode:IJKMPMovieScalingModeAspectFill];
}
- (void)viewWillDisappear:(BOOL)animated{
 [super viewWillDisappear:animated];
 // 關(guān)閉播放時(shí),要停止播放器,否則會(huì)崩潰
 [_playerVC pause];
 [_playerVC stop];
}

就這么幾行代碼,播放就實(shí)現(xiàn)了我們僅僅是傳了一個(gè)拉流地址。這個(gè)框架簡(jiǎn)直是太強(qiáng)大了,自動(dòng)幫我們完成了拉流、解碼、渲染,我們什么都不用做,B站的工程師真是很🐂,剩下的送禮物、聊天室慢慢集成。

demo下載

demo下載地址。下載下來(lái)運(yùn)行,發(fā)現(xiàn)報(bào)錯(cuò)。

那是因?yàn)槲覜](méi)有在工程里上傳ijkplayer視屏直播框架,我能上傳上去,但下載太慢了,什么原因大家都懂得。我把ijkplayer視屏直播框架放到http://xiazai.jb51.net/201612/yuanma/IJKMediaFramework.framework_jb51.rar上了,下載下來(lái)之后,放到LiveAppDemo-master文件夾里,重新打開(kāi)就可以運(yùn)行了。

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • IOS 中UIApplication詳解及實(shí)例

    IOS 中UIApplication詳解及實(shí)例

    這篇文章主要介紹了IOS 中UIApplication詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 淺析IOS開(kāi)發(fā)TouchID指紋解鎖功能

    淺析IOS開(kāi)發(fā)TouchID指紋解鎖功能

    TouchID指紋解鎖功能現(xiàn)在在app中已經(jīng)很常見(jiàn),其實(shí)這個(gè)功能實(shí)現(xiàn)起來(lái)是很簡(jiǎn)單的,因?yàn)樘O(píng)果都已經(jīng)幫我們封裝好了,只需要實(shí)現(xiàn)幾個(gè)方法就可以了。下面來(lái)一起看看。
    2016-09-09
  • Flutter之可滾動(dòng)組件實(shí)例詳解

    Flutter之可滾動(dòng)組件實(shí)例詳解

    這篇文章主要為大家介紹了Flutter之可滾動(dòng)組件實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • iOS 12適配以及問(wèn)題小記

    iOS 12適配以及問(wèn)題小記

    蘋(píng)果官方在上個(gè)月推送了iOS12系統(tǒng),作為一名開(kāi)發(fā)者當(dāng)然要緊跟更新技術(shù),所以下面這篇文章主要給大家介紹了關(guān)于iOS 12適配以及一些問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-07-07
  • iOS文本的多語(yǔ)言適配以及實(shí)踐指南

    iOS文本的多語(yǔ)言適配以及實(shí)踐指南

    項(xiàng)目開(kāi)發(fā)中考慮到不同國(guó)家的用戶,不同國(guó)家的語(yǔ)言,因而在APP里面做了多語(yǔ)言,所以下面這篇文章主要給大家介紹了關(guān)于iOS文本的多語(yǔ)言適配以及實(shí)踐的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • iOS用兩行代碼完美解決數(shù)據(jù)持久化

    iOS用兩行代碼完美解決數(shù)據(jù)持久化

    所謂的持久化,就是將數(shù)據(jù)保存到硬盤(pán)中,使得在應(yīng)用程序或機(jī)器重啟后可以繼續(xù)訪問(wèn)之前保存的數(shù)據(jù)。在iOS開(kāi)發(fā)中,有很多數(shù)據(jù)持久化的方案,接下來(lái)我將嘗試著介紹一種巧妙的方法,用兩行代碼解決這個(gè)問(wèn)題,一起來(lái)學(xué)習(xí)下。
    2016-08-08
  • iOS之點(diǎn)擊通知欄的通知進(jìn)入程序的觸發(fā)事件

    iOS之點(diǎn)擊通知欄的通知進(jìn)入程序的觸發(fā)事件

    本文主要介紹了iOS中點(diǎn)擊通知欄的通知進(jìn)入程序的觸發(fā)事件的相關(guān)知識(shí),具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • 詳解iOS多線程GCD的使用

    詳解iOS多線程GCD的使用

    Grand Central Dispatch (GCD)是Apple開(kāi)發(fā)的一個(gè)多核編程的解決方法,本文給大家詳細(xì)介紹IOS中GCD的使用,需要的朋友參考下
    2016-03-03
  • IOS 上架后出現(xiàn)90034代碼錯(cuò)誤問(wèn)題解決

    IOS 上架后出現(xiàn)90034代碼錯(cuò)誤問(wèn)題解決

    這篇文章主要介紹了IOS 上架后出現(xiàn)90034代碼錯(cuò)誤問(wèn)題解決的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • 詳解ios11中estimatedRowHeight屬性

    詳解ios11中estimatedRowHeight屬性

    本篇文章主要給大家介紹了ios11中estimatedRowHeight屬性的用法和知識(shí),有興趣的朋友學(xué)習(xí)下。
    2018-01-01

最新評(píng)論