零基础学习iOS|直播|之播放
发布时间 - 2026-01-10 22:08:46 点击率:次对于|直播|来说,客户端主要做两件事情,推流和播放。今天先讲播放。

播放流程
- 拉流:服务器已有|直播|内容,从指定地址进行拉取的过程。其实就是向服务器请求数据。
- 解码:对视屏数据进行解压缩。
- 渲染:生成图片的过程。视屏其实就是一张张连续的图片进行切换,一张图片就是一帧。帧率顾名思义就是每秒显示的图片数,当帧率达到16时,人眼就会认为是流畅的。是不是很神奇。
这里的每个步骤能弄明白都可以成为人才了,如果还能解决其中的不足,那你就是尖端人才了。弄懂这些需要耗费大量的时间,还好有ijkplayer视屏|直播|框架,有了它,即时你不懂这些过程,也可以进行|直播|播放,大神真多。
ijkplayer视屏|直播|框架
ijkplayer视屏|直播|框架下载地址,这是开源的,喜欢研究源码的同学可以去下载,,基于ffmpeg,同时支持iOS和Android,非常强大。上述的三个过程它全给你做好了,只要你集成到自己工程里,就能实现播放|直播|了。
&emsp ;集成到自己的工程中,最好先打包,我这里用打包好的debug模式下的,可以去http://xiazai./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://xiazai./201612/yuanma/IJKMediaFramework.framework_jb51.rar上了,下载下来之后,放到LiveAppDemo-master文件夹里,重新打开就可以运行了。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# iOS
# 直播
# 零基础学习iOS直播之采集
# iOS直播类APP开发流程解析
# 详解iOS中集成ijkplayer视频直播框架
# 视屏
# 播放器
# 下载地址
# 自己的
# 这是
# 上传
# 就会
# 给你
# 那是
# 大家都
# 就能
# 上了
# 还能
# 已有
# 不懂
# 我这
# 不是很
# 我把
# 我能
# 那你
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
iOS中将个别页面强制横屏其他页面竖屏
佛山网站制作系统,佛山企业变更地址网上办理步骤?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
Laravel如何配置Horizon来管理队列?(安装和使用)
如何在IIS服务器上快速部署高效网站?
如何在阿里云虚拟服务器快速搭建网站?
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
专业商城网站制作公司有哪些,pi商城官网是哪个?
大连 网站制作,大连天途有线官网?
Android中AutoCompleteTextView自动提示
用yum安装MySQLdb模块的步骤方法
Python文本处理实践_日志清洗解析【指导】
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
如何用好域名打造高点击率的自主建站?
java获取注册ip实例
如何用VPS主机快速搭建个人网站?
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
JavaScript如何实现倒计时_时间函数如何精确控制
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
北京网站制作的公司有哪些,北京白云观官方网站?
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
UC浏览器如何设置启动页 UC浏览器启动页设置方法
如何破解联通资金短缺导致的基站建设难题?
Android利用动画实现背景逐渐变暗
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
香港服务器租用费用高吗?如何避免常见误区?
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
html如何与html链接_实现多个HTML页面互相链接【互相】
深圳网站制作平台,深圳市做网站好的公司有哪些?
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
phpredis提高消息队列的实时性方法(推荐)
网站制作报价单模板图片,小松挖机官方网站报价?
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
详解Android图表 MPAndroidChart折线图
香港服务器租用每月最低只需15元?
什么是javascript作用域_全局和局部作用域有什么区别?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
如何用AI帮你把自己的生活经历写成一个有趣的故事?

