iOS 视频播放 - YVideoPlayer - UIView
- 这是一个使用简便的视频播放框架,它基于UIView,它可以是一个小窗口,也可以是一个全屏的窗口
简单的方式加载Video框架: 一行代码加载! 一行代码更新!
- 下载链接 : https://github.com/huyp/YVideoPlayer
功能
- 支持本地视频&网络视频
- 开始&暂停
- 最大化&还原
- 图像左侧上下调节 : 亮度
- 图像右侧上下调节 : 音量
- 左右滑动 : 快进快退
简介
- 这是一个UIView的子类,它可以加载到你所需要的任何位置.
- 它可以是一个小窗口,也可以是一个全屏的窗口
- 支持方向识别,横屏时自动最大化
使用
加载:
导入头文件
#import "YVideoPlayerView.h"
yVideoPlayerView = [YVideoPlayerView initWithVideoName:@"视频名称1" frame:CGRectMake(,,,) path:@"http://videoPath" onViewControll:self]; 初始化方法
+ (instancetype)initWithVideoName:(NSString *)name frame:(CGRect)frame path:(NSString *)path onViewControll:(UIViewController *)OnViewController; name : 视频名称
frame : 视频位置
path : 视频路径
onViewController : 加载视频所在的ViewController -> 一般写self
更新:
yVideoPlayerView = [yVideoPlayerView updateVideoWithName:@"视频名称2" path:@"http://videoPath2" onViewController:self]; 注意 : 这是一个对象方法
- (instancetype)updateVideoWithName:(NSString *)name path:(NSString *)path onViewController :(UIViewController *)OnViewController; name : 视频名称
path : 视频路径
onViewController : 加载视频所在的ViewController -> 一般写self 这里不用重写frame -- 参照了初始化时
提醒
- 本框架纯ARC,兼容的系统>=iOS6.0、iPhone\iPad横竖屏
- 横竖屏需要手机关闭横竖排方向锁定
- App至少要开启
LandScape Left
或LandScape Right
其中的一项. 如App其他页面不能转屏,用代码锁定!- 在其他不需要转屏的根视图里写如下代码:
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
} - 在加载YVideoPlayerView的ViewController里写如下代码:
//只让这个页面转动
- (BOOL)shouldAutorotate {
return YES;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
if (yVideoPlayerView.canOrientationChange == YES) { //刚进入页面是竖屏
return UIInterfaceOrientationMaskAllButUpsideDown;
}
return UIInterfaceOrientationMaskPortrait;
}
- 在其他不需要转屏的根视图里写如下代码:
iOS 视频播放 - YVideoPlayer - UIView的更多相关文章
- iOS视频播放(AVFoundation)
iOS视频播放(AVFoundation) 关于iOS平台的音视频处理,苹果官方提供了OC和swift接口的AVFoundation框架,可以进行各种音频播放和剪辑,底层实现使用了GPU加速,编解码效 ...
- 在iOS中获取UIView的所有层级结构 相关
在iOS中获取UIView的所有层级结构 应用场景 在实际 iOS 开发中,很多时候都需要知道某个 UI 控件中包含哪些子控件,并且分清楚它们的层级结构和自个的 frame 以及 bounds ,以便 ...
- iOS 让视图UIView单独显示某一侧的边框线
iOS 让视图UIView 单独显示某一侧的边框线 有时候需要让view显示某一侧的边框线,这时设置layer的border是达不到效果的.在网上查阅资料发现有一个投机取巧的办法,原理是给view ...
- iOS: ios视频播放(MPMediaPlayerController,AVPlayer,AVPlayerViewcontroller、ffmpeg-AVPlayer)
介绍: 和音频播放一样,ios也提供个很多的API.如mediaPlayer.framework下的MPMediaPlayerController.AVFounditon.framework下的AVP ...
- iOS 视频播放方式整理
初衷 多媒体这整个系列的文章自己也准备好开始整理了,先从视频音频最简单也是最常用的播放出发慢慢的往下深究,探索到底层的编码解码等等,这篇文章就从视频的播放这个最简单的说起. iOS的视频播放方式有几种 ...
- iOS--UIView和UIWindow用法
基础 UI(user interface)是用户界面:iOS的应用是由各种各样的UI控件组成 UIWindow就是一个窗口,学的第一个基础类,就是一个容器,可以在容器上放不同的内容,每个app都需要借 ...
- iOS学习之UIView
一.UI编程概述 1.UI的本意是用户界面,是英文User和Interface的缩写. 2.UI设计则是指对软件的人机交互.操作逻辑.界面美观的整体设计. 3.软件设计可 ...
- iOS控件——UIView的viewWithTag:(int)findTag方法描述
UIView拥有一个viewWithTag:(int)findTag方法,调用方式为[MyView viewWithTag:整形数字]该方法返回tag == findTag的控件.ios控件中允许多个 ...
- 浅谈iOS视频播放的N种解决方案
简 注册登录 添加关注 作者 Maru2016.03.22 20:46* 写了4349字,被135人关注,获得了207个喜欢 字数1621 阅读2895 评论43 喜欢159 header ...
随机推荐
- Netty5 + HTTPS 练习
本次以<Netty权威指南>第十章里面的例子为基础修改而来 HttpsFileServerHandler.java package com.jieli.nettytest.httpsfil ...
- Linux高级编程--08.线程概述
线程 有的时候,我们需要在一个基础中同时运行多个控制流程.例如:一个图形界面的下载软件,在处理下载任务的同时,还必须响应界面的对任务的停止,删除等控制操作.这个时候就需要用到线程来实现并发操作. 和信 ...
- mysql数据库事件调度(Event)
mysql中的事件调度器可以定时对数据库增加,删除和执行操作,相当于数据库中的临时触发器,与Linux系统中的执行计划任务一样,这样就可以大大降低工作量. 1.开启事件调度器 [root@node1 ...
- Awk by Example--转载
原文地址: http://www.funtoo.org/Awk_by_Example,_Part_1?ref=dzone http://www.funtoo.org/Awk_by_Example,_P ...
- iOS 8 界面设计 PSD 模板(iPhone 6),免费下载
在 iOS 8 发布不久,Teehan & Lax 就发布了 iOS 8(iPhone6)用户界面的 PSD 模板.该网站分享众多 PSD 模板素材,这些精美的 PSD 界面模板在制作界面原型 ...
- ELK+FileBeat+Log4Net搭建日志系统
ELK+FileBeat+Log4Net搭建日志系统 来源:https://www.zybuluo.com/muyanfeixiang/note/608470 标签(空格分隔): ELK Log4Ne ...
- The Top 10 Javascript MVC Frameworks Reviewed
Over the last several months I have been in a constant search for the perfect javascript MVC framewo ...
- JS&CSS文件请求合并及压缩处理研究(二)
上篇交待了一些理论方面的东西,并给出了另外一种解决方案的处理流程.本篇将根据该处理流程,开始代码方面的编写工作. 1,打开VS,新建ASP.NET MVC Web项目,项目类型选择空.名称为 Mcmu ...
- python网络编程socket /socketserver
提起网络编程,不同于web编程,它主要是C/S架构,也就是服务器.客户端结构的.对于初学者而言,最需要理解的不是网络的概念,而是python对于网络编程都提供了些什么模块和功能.不同于计算机发展的初级 ...
- 记第二次使用php开发项目之绝不重复自己
严格说起来,自己并非一个合格的php程序员.第一次使用php开发,不过是因为游戏上线,需要一个统计管理后台和GM后台,因为招聘已经来不及,所以我就上前线了! 凭着对php语法的一点点记忆(大学的时候学 ...