技术经验分享:AVMoviePlayer视频播放器

简介: 技术经验分享:AVMoviePlayer视频播放器

"

AVMoviePlayer 是使用系统框架 MPMoviePlayerController 封装的视频播放器

一、功能:

1.根据手机旋转自由切换横竖屏;

2.手势轻点显示/隐藏topView/bottomView;

3.视频开始播放几秒后topView/bottomView自动隐藏;

4.手势左右滑动加载视频快进/快退;

5.格式支持:MOV、MP4、M4V、3GP、M3U8等。

二、使用:

- (void)viewDidLoad {

【super viewDidLoad】;

// Do any additional setup after loading the view, typically from a nib.

//把使用视频播放View的控制器 设置背景色为黑色

self.view.backgroundColor = 【UIColor blackColor】;

self.navigationController.navigationBarHidden = YES;

【self playVideo】;

}

#pragma mark - 播放视频

- (void)playVideo {

NSURL *url = 【NSURL URLWithString:@""""】;

【self addVideoPlayerWithURL:url】;

}

- (void)addVideoPlayerWithURL:(NSURL *)url {

if //代码效果参考:https://v.youku.com/v_show/id_XNjQwNjg0NjA2NA==.html

(!self.videoController) {

self.videoController = 【【AVMoviePlayerController alloc】 initWithFrame:CGRectMake(0, 0, KSCREEN_WIDTH, KSCREEN_HEIGHT) movieTitle:@""播放时间.M3U8格式""】;

__weak typeof(self)weakSelf = self;

【self.videoController setWillBackOrientationPortrait:^{

【weakSelf toolbarHidden:NO】;

}】;

【self.videoController setWillChangeToFullscreenMode:^{

【weakSelf toolbarHidden:YES】;

}】;

【self.view addSubview:self.videoController.view】;

}

self.videoController.contentURL = url;

}

/**

* 隐藏navigation tabbar 电池栏

*

* @param Bool YES/NO

*/

- (void)toolbarHidden:(BOOL)Bool {

self.navigationController.navigationBar.hidden = Bool;

self.tabBarController.tabBar.hidden = Bool;

【【UIApplication sharedApplication】 //代码效果参考:https://v.youku.com/v_show/id_XNjQwMDM5NTU2NA==.html

setStatusBarHidden:Bool withAnimation:UIStatusBarAnimationFade】;

}

三、plist文件添加相关key


"
image.png
相关文章
|
网络协议 网络性能优化 开发者
Python网络编程基础(Socket编程)UDP Socket编程
【4月更文挑战第8天】Python网络编程中,UDP与TCP协议各有特点。TCP提供可靠连接,确保数据顺序与完整性,适合文件传输等;UDP则无连接,速度快,常用于实时音视频,牺牲了数据可靠性。Python的socket库支持两者,开发者可根据需求选择。
|
Java 编译器
Java中的自动装箱和拆箱
Java中的自动装箱和拆箱
|
编译器 Linux C++
3C++程序的编写和实现
3C++程序的编写和实现
135 2
|
弹性计算 数据可视化 Ubuntu
《Palworld/幻兽帕鲁》阿里云专用服务器搭建部署从入门到精通:2024年最新教程!
随着《幻兽帕鲁》的风靡,越来越多的玩家希望拥有属于自己的游戏服务器,以获得更加稳定和私密的游戏体验。今天,就为大家带来一份详细的新手教程,教您如何在阿里云上轻松搭建《幻兽帕鲁》专用服务器。 首先,您需要一台服务器。在这里,我们推荐使用阿里云服务器。它不仅稳定可靠,而且提供了丰富的幻兽帕鲁服务器搭建模板,让您轻松上手。
193 0
|
6月前
|
开发工具 开发者
HarmonyOS NEXT实战:占比图
DataPanel是HarmonyOS SDK中用于展示数据占比的组件,支持圆形或线形图表,常用于教育类应用中直观显示数据比例。
109 1
|
负载均衡 Linux 调度
NO_HZ: 降低调度时钟中断 【ChatGPT】
NO_HZ: 降低调度时钟中断 【ChatGPT】
|
人工智能 NoSQL 测试技术
世界第一!蚂蚁图计算TuGraph打破LDBC SNB-BI世界纪录
近日,国际关联数据基准委员会(Linked Data Benchmark Council,以下简称LDBC)发布了图数据基准测评“LDBC SNB-BI”最新结果。由蚂蚁集团自研的流式图计算引擎TuGraph Analytics在30TB规模的数据集上成功完成了基准测试,数据规模和性能打破了此前的公开纪录,关键指标中的并发吞吐量提升至2.84倍,查询能力提升至1.86倍。
世界第一!蚂蚁图计算TuGraph打破LDBC SNB-BI世界纪录
|
JavaScript 前端开发 API
从入门到项目实战 - VUE组件跨通信:vue2 与 vue3 中实现全局事件总线
从入门到项目实战 - VUE组件跨通信:vue2 与 vue3 中实现全局事件总线
826 0
|
Java Maven Android开发
Android文字轮播~可垂直可水平跑马灯
Android文字轮播~可垂直可水平跑马灯
Android文字轮播~可垂直可水平跑马灯