swift UIview上添加视频播放
1.
/// 是否显示过广告
private lazy var isLoadAV = false
/// 15秒宣传视频
private var play: AVPlayer? /// 宣传视频背景
private lazy var logoView : UIView = {
let v = JYUIModel.createView()
v.backgroundColor = UIColor.orange
return v
}()
2.
/// 添加宣传视频
private func addPromotionalVideo(){
if let filePath = Bundle.main.path(forResource: "测试视频", ofType: "mp4") {
let videoUrl = URL(fileURLWithPath: filePath)
let playerItem = AVPlayerItem(url: videoUrl)
play = AVPlayer(playerItem: playerItem)
let player = AVPlayerLayer(player: play)
if #available(iOS 11.0, *) {
player.frame = CGRect(x: , y: , width: JYScreenWidth, height: JYScreenHeight - - view.safeAreaInsets.bottom)
} else {
player.frame = CGRect(x: , y: , width: JYScreenWidth, height: JYScreenHeight - )
}
logoView.layer.addSublayer(player)
play?.play()
isLoadAV = true
}
}
3.
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
if isLoadAV == false{
addPromotionalVideo()
}
}
swift UIview上添加视频播放的更多相关文章
- iOS UIView上添加mp4视频
ViewController.h文件中添加如下代码: #import <MediaPlayer/MediaPlayer.h> @property(nonatomic,retain) MPM ...
- 在UIView上添加tableView设置代理属性
- UIView上添加了一个按钮和一个单击手势的事件相应,互相不影响的处理方法。。
tapGesture.delegate = self; - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shoul ...
- 在TableView上添加悬浮按钮
如果直接在TableVIewController上贴Button的话会导致这个会随之滚动,下面解决在TableView上实现位置固定悬浮按钮的两种方法: 1.在view上贴tableView,然后将悬 ...
- iOS 在tableView上添加button导致按钮没有点击效果和不能滑动的 zhuang
转载请注明出处. 今天在调试代码的时候,在tableviewcell上添加button,发现button快速点击的话,是看不出点击效果的,查找资料发现, ios7上UITableViewCell子层容 ...
- 如何在TableView上添加悬浮按钮
如果直接在TableVIewController上贴Button的话会导致这个会随之滚动,下面解决在TableView上实现位置固定悬浮按钮的两种方法: 1.在view上贴tableView,然后将悬 ...
- iOS实现类似QQ的好友列表,自由展开折叠(在原来TableView的基础上添加一个字典,一个Button)
//直接代码 只包含 折叠展开字典的处理搭建#import "CFViewController.h" @interface CFViewController ()<UITab ...
- iOS: 获取UITableViewCell上添加的子控件对应的cell
一.简单介绍 UITableViewCell是UITableView的核心部分,我们在开发中因为功能的扩展经常需要自定义,以便在其上面添加子控件,例如button.label等.添加后获取这些子控件的 ...
- 利用WPF建立自己的3d gis软件(非axhost方式)(四)在地图上添加FrameworkElement
原文:利用WPF建立自己的3d gis软件(非axhost方式)(四)在地图上添加FrameworkElement 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUw ...
随机推荐
- springBoot的第一个程序
创建一个springBoot工程 然后输入工程名字 然后选择要导入的依赖jar包,这里只勾选了web 然后目录结构 创建一个controller必须在aplication.properties的同级目 ...
- asp.net 本地服务字段调用(WebSerice)的小问题
当有全局变量时,如:protected static Dictionary<string, string> SalesMail = new Dictionary<string, st ...
- Linq to SQL -- Group By、Having和Exists、In、Any、All、Contains
Group By/Having操作符 适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q = from p in ...
- Error occurred during initialization of VM Could not reserve enough space for object heap
Error occurred during initialization of VM Could not reserve enough space for object heap Java虚拟机(JV ...
- 【HDFS API编程】副本系数深度剖析
上一节我们使用Java API操作HDFS文件系统创建了文件a.txt并写入了hello hadoop(回顾:https://www.cnblogs.com/Liuyt-61/p/10739018.h ...
- 稀疏矩阵 part 4
▶ 各种稀疏矩阵数据结构下 y(n,1) = A(n,m) * x(m,1) 的实现,GPU版本 ● MAT 乘法 __global__ void dotGPU(const MAT *a, const ...
- 【C语言基础】循环体系
1.For循环结构: For循环的一般形式为: for (表达式1 初始化:判断条件:自增自减) { 语句块 } 2.while循环结构: while循环的一般的形式为: 表达式1 初始化 while ...
- 如何利用Git生成pitch和打pitch
利用Git生成和应用patch 在程序员的日常开发与合作过程中,对于code的生成patch和打patch(应用patch)成为经常需要做的事情. 什么是patch?简单来讲,patch中存储的是你 ...
- 魔力Python——一些基本概念
1.I/O操作 I/O输入/输出(input/output)的缩写. 概念I/O系统,英文全称为“Input output system”,中文全称为“输入输出系统”,由输入输出控制系统和外围设备两部 ...
- mysql 函数获取子节点
DELIMITER $$ USE `topsale`$$ DROP FUNCTION IF EXISTS `getShopIdByUserId`$$ CREATE DEFINER=`root`@`%` ...