技术经验分享: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
相关文章
|
3月前
|
Linux 开发工具 Android开发
FFmpeg开发笔记(五十三)移动端的国产直播录制工具EasyPusher
EasyPusher是一款国产RTSP直播录制推流客户端工具,支持Windows、Linux、Android及iOS等系统。尽管其GitHub仓库(安卓版:https://github.com/EasyDarwin/EasyPusher-Android)已多年未更新,但通过一系列改造,如升级SDK版本、迁移到AndroidX、指定本地NDK版本及更新Gradle版本等,仍可在最新Android Studio上运行。以下是针对Android Studio Dolphin版本的具体改造步骤。
65 3
FFmpeg开发笔记(五十三)移动端的国产直播录制工具EasyPusher
|
4月前
|
开发者 图形学 iOS开发
掌握Unity的跨平台部署与发布秘籍,让你的游戏作品在多个平台上大放异彩——从基础设置到高级优化,深入解析一站式游戏开发解决方案的每一个细节,带你领略高效发布流程的魅力所在
【8月更文挑战第31天】跨平台游戏开发是当今游戏产业的热点,尤其在移动设备普及的背景下更为重要。作为领先的游戏开发引擎,Unity以其卓越的跨平台支持能力脱颖而出,能够将游戏轻松部署至iOS、Android、PC、Mac、Web及游戏主机等多个平台。本文通过杂文形式探讨Unity在各平台的部署与发布策略,并提供具体实例,涵盖项目设置、性能优化、打包流程及发布前准备等关键环节,助力开发者充分利用Unity的强大功能,实现多平台游戏开发。
124 0
|
6月前
|
监控
必知的技术知识:iosavplayer视频播放器
必知的技术知识:iosavplayer视频播放器
|
7月前
|
资源调度 前端开发 JavaScript
Excalidraw, 一款超赞的开源白板工具
Excalidraw, 一款超赞的开源白板工具
180 0
直播源码app开发技术之特效功能的实现
想必说到这里大家都明白我说的这一个情况是直播源码app平台的哪一个常见的功能了,没错,这个功能就是直播源码app平台的特效功能,这个功能对于开发直播源码app平台是非常重要的,废话不多说,下面我就为大家分享直播源码app开发技术特效功能的实现。
直播源码app开发技术之特效功能的实现
|
编解码 Java 开发工具
[技术分享]Android平台实时音视频录像模块设计之道
录像有什么难的?无非就是数据过来,编码保存mp4而已,这可能是好多开发者在做录像模块的时候的思考输出。是的,确实不难,但是做好,或者和其他模块有非常好的逻辑配合,确实不容易。
110 0
|
API 开发工具 Android开发
语音聊天源码平台开发小知识
现如今的社交平台中,语音聊天室仍然占据着一席之地,例如语音电台,主播可以在直播间中与给听众讲故事、唱歌,观众也可以申请上麦,与主播聊天互动。主要实现的功能就是语音连麦,之前讲过很多直播源码平台的开发和功能,本篇我们来讲下语音聊天源码平台的开发逻辑是怎么样的。
|
缓存 API 网络安全
APICloud平台使用融云模块实现音视频通话实践经验总结分享
APICloud平台使用融云模块实现音视频通话实践经验总结分享
256 0
APICloud平台使用融云模块实现音视频通话实践经验总结分享
|
IDE 开发工具 开发者
APICloud超实用经验分享——平台功能
从2016年开始使用APICloud进行app项目开发,到现在也有五六年了。在此过程中伴随着APICloud一起成长,踩过一些坑,自己的技术也提升不少。在APICloud 推出avm框架一年之后,IDE和框架逐渐成熟。我打算把这些年使用APICloud的经验做个总结,希望帮助到更多的开发者。总结分为开发工具、平台功能、模块SDK这三个方面,今天先讲一下平台功能方面的。
201 0
好工具推荐系列:你的生产力工具集
好工具推荐系列:你的生产力工具集
235 0