關於直播來說,客戶端次要做兩件事情,推流和播放。明天先講播放。
播放流程
這裡的每個步驟能弄明白都可以成為人才了,假如還能處理其中的缺乏,那你就是尖端人才了。弄懂這些需求消耗少量的時間,還好有ijkplayer視屏直播框架,有了它,即時你不懂這些進程,也可以停止直播播放,大神真多。
ijkplayer視屏直播框架
ijkplayer視屏直播框架下載地址,這是開源的,喜歡研討源碼的同窗可以去下載,,基於ffmpeg,同時支持IOS和Android,十分弱小。上述的三個進程它全給你做好了,只需你集成到自己工程裡,就能完成播放直播了。
&emsp ;集成到自己的工程中,最好先打包,我這裡用打包好的debug形式下的,可以去http://wd.jb51.net:81//201612/yuanma/IJKMediaFramework.framework_jb51.rar下載。怎樣集成的,同窗們可以去看這篇文章《詳解IOS中集成ijkplayer視頻直播框架》。和導入第三方庫一樣,導入到自己工程中,同時還要添加依賴的靜態庫。

直播

#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];
// 隱藏導航欄
[self.navigationController.navigationBar setHidden:YES];
// 設置背風光
[self.view setBackgroundColor:[UIColor whiteColor]];
// 拉流地址
NSURL *url = [NSURL URLWithString:self.liveUrl];
// 實例化播放器,傳入拉流地址即可
_playerVC = [[IJKFFMoviePlayerController alloc] initWithContentURL:url withOptions:nil];
// 預備播放 預備好了自動播放
[_playerVC prepareToPlay];
// 設置播放器尺寸
_playerVC.view.frame = [[UIScreen mainScreen] bounds];
[self.view addSubview:_playerVC.view];
// 設置填充形式:鋪滿
[_playerVC setScalingMode:IJKMPMovieScalingModeaspectFill];
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
// 封閉播放時,要中止播放器,否則會解體
[_playerVC pause];
[_playerVC stop];
}
就這麼幾行代碼,播放就完成了我們僅僅是傳了一個拉流地址。這個框架幾乎是太弱小了,自動幫我們完成了拉流、解碼、渲染,我們什麼都不必做,B站的工程師真是很🐂,剩下的送禮物、聊天室漸漸集成。
demo下載
demo下載地址。下載上去運轉,發現報錯。

那是由於我沒有在工程裡上傳ijkplayer視屏直播框架,我能上傳上去,但下載太慢了,什麼緣由大家都懂得。我把ijkplayer視屏直播框架放到http://wd.jb51.net:81//201612/yuanma/IJKMediaFramework.framework_jb51.rar上了,下載上去之後,放到LiveAppDemo-master文件夾裡,重新翻開就可以運轉了。

以上就是本文的全部內容,希望本文的內容對大家的學習或許任務能帶來一定的協助,同時也希望多多支持本站!
【零根底學習iOS直播之播放】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!