视屏播放(直播)
来源:互联网 发布:招聘数据统计分析表 编辑:程序博客网 时间:2024/05/18 05:50
本文主要是用B站开源播放框架ijkplayer实现的,对ijkplayer不了解的同学可以自己百度下,本文只讲使用,不讲原理。
首先得把ijkplayer打包成framework.静态库,然后托到项目中去使用。
项目主要是基于ijkplayer 的. 最好是打包成framework
. 原本我准备写一个打包教程, 不过后来在简书上发现了一篇特别详细的打包blog, 分享给大家: http://www.jianshu.com/p/1f06b27b3ac0.
如果你不想打包,请在IJKMediaFramework.framework处下载
1.加载播放
- (IJKFFMoviePlayerController *)player{ if (!_player) { // 播放视频 NSString *path = @"login_video";//播放地址,也可以是网络地址 IJKFFMoviePlayerController *player = [[IJKFFMoviePlayerController alloc] initWithContentURLString:[[NSBundle mainBundle] pathForResource:path ofType:@"mp4"] withOptions:[IJKFFOptions optionsByDefault]]; // 设计player player.view.frame = self.view.bounds; // 填充fill player.scalingMode = IJKMPMovieScalingModeAspectFill; [self.view addSubview:player.view]; // 设置自动播放 player.shouldAutoplay = NO; // 准备播放 [player prepareToPlay]; _player = player; } return _player;}监听播放状态
- (void)initObserver{ // 监听视频是否播放完成 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didFinish) name:IJKMPMoviePlayerPlaybackDidFinishNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(stateDidChange) name:IJKMPMoviePlayerLoadStateDidChangeNotification object:nil];}
播放完之后, 继续重播
- (void)didFinish{ // 播放完之后, 继续重播 [self.player play];}
播放状态改变
- (void)stateDidChange{ if ((self.player.loadState & IJKMPMovieLoadStatePlaythroughOK) != 0) { if (!self.player.isPlaying) { self.coverView.frame = self.view.bounds; [self.view insertSubview:self.coverView atIndex:0]; [self.player play]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ self.thirdView.hidden = NO; self.quickBtn.hidden = NO; }); } }}如果要跳转到其它页面,请先闭播放
[self.playerstop];
[self.player.viewremoveFromSuperview];
self.player =nil;
如果有更好的开源直播框架欢迎猿友指出来。 0 0
- 视屏播放(直播)
- iOS开发直播app(播放篇)
- M3U8直播播放器
- flv 播放直播视频
- ckplayer播放器 直播
- wowza发布和播放直播流(RTMP,RTSP)
- Android直播实现(一)Android端推流、播放
- 视屏直播平台
- ios 视频播放/直播demo
- Android直播,音视频播放
- VR视频直播播放器
- RTMB实现视屏直播
- EasyIPCamera Android结合EasyPlayer播放器实现教室、会议、展销同屏直播
- Swift - 使用ijkplayer框架播放直播视频1(RTMP/HTTP视频流播放)
- 安卓直播详细教程(一)-----bilibili开源播放器
- Red5流服务器搭建(实现在线直播,流媒体视频播放和在线视频会议)
- EasyPlayer实现视频播放局部缩放、广角平移功能(类似水滴直播,快手视频)
- RTMP、RTSP、HTTP视频协议详解(附:直播流地址、播放软件)
- 状态机(一)
- 指针遍历二维数组的三种方式
- 安装smooks以及eclipse插件
- 观察者模式——解决、解耦的钥匙
- Swift 中枚举高级用法及实践
- 视屏播放(直播)
- 具备迭代器功能的容器类sequence
- 自定义view--自定义分类Tab菜单条,自定义垂直progressbar(类似温度计)
- 1. 支付宝、微信支付接入集成
- Java类加载机制浅析
- weblogic Error [Management:141191]The prepare phase of the configuration update failed with an excep
- 30. Substring with Concatenation of All Words
- target情感分类(1,0,-1)——Target-dependent sentiment classification with long short term memory
- iOS中为项目添加自定义的字体