首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS开发常用之摄像照相视频音频处理

VideoPushDemo - 视频剪辑视频特效制作1 视频特效制作2。 LLSimpleCamera - 一款简单的,可自定义的iOS摄像头控件,摄像头。...可以使用任何视频播放播放片段。保存的记录可以序列化的NSDictionary中使用。(NSUserDefaults的操作)添加使用Core Image的视频滤波器。...ICGVideoTrimmer - ICGVideoTrimmer提供视频剪切的视图。左右两个边界选择器还能够自定义。...iFrameExtractor - 开源视频播放器,ffmpegiOS的使用-iFrameExtractor源码解析,文章。...实现说明 WMPlayer - WMPlayer视频播放器,AVPlayer的封装,继承UIView,想怎么玩就怎么玩。支持播放mp4,m3u8,3gp,mov,网络和本地视频同时支持。

2.8K51
您找到你想要的搜索结果了吗?
是的
没有找到

IOS开发系列——UIView专题之二:动画篇【整理,部分原创】

2UIView动画 2.1概述 UIView视图的动画功能,可以使更新或切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验。...UIView可以产生动画效果的变化包括: •位置变化:屏幕上移动视图。 •大小变化:改变视图框架(frame)和边界。 •拉伸变化:改变视图内容的延展区域。...UIKit直接将动画集成UIView,实现简单动画的创建过程。UIView类定义了几个内在支持动画的属性声明,当这些属性发生改变时,视图为其变化过程提供内建的动画支持。...可能的值定义UIViewAnimationTransition。 view 需要过渡的视图对象。...举个例子,文件从一个视图另一个视图,然後使用一个UIView子类的容器视图,如下: 1.Begin an animation block. 2.Set the transition on the

1.3K10

iOS学习——UIView的研究

iOS开发,我们知道有一个共同的基类——NSObject,但是对于界面视图而言,UIView是非常重要的一个类,UIView是很多视图控件的基类,因此,对于UIView的学习闲的非常有必要。...< 缩放内容合适的大小,边界多余部分透明. 26 UIViewContentModeScaleAspectFill, //!...:(nullable UIView *)view; 215 /** 将像素point由point所在视图转换到目标视图view,返回目标视图view的像素值 */ 216 - (CGPoint)convertPoint...:(CGPoint)point fromView:(nullable UIView *)view; 217 /** 将rect由rect所在视图转换到目标视图view,返回目标视图view的rect...; 245 /** 插入子视图(将子视图插入subviews数组index这个位置) */ 246 - (void)insertSubview:(UIView *)view atIndex:(NSInteger

2.7K80

【IOS开发基础系列】UIView专题

当这个方法被调用,接收者可以假定他的帧坐标上已经转换,边界矩形已经应用;所有他要做的就是绘制自定义的方法。...原始的帧它的父视图的坐标系。设置这个属性用来改变中心和边界属性。 返回值     一个初始化的视图对象,如果没有被创建那就返回nil 讨论     一个新的视图对象必须添加到视图才能使用。...UIView可以产生动画效果的变化包括:     • 位置变化:屏幕上移动视图。     • 大小变化:改变视图框架(frame)和边界。     • 拉伸变化:改变视图内容的延展区域。     ...• 旋转:即任何应用到视图上的仿射变换(transform)。         UIKit直接将动画集成UIView,实现简单动画的创建过程。...讨论         自动重复是当动画向前播放结束後再重头开始播放。使用setAnimationRepeatCount: 类方法来指定动画自动重播的时间。如果重复数为0或者动画块外那将没有任何效果。

50230

Unity SKFramework框架(二)、UI模块

视图 1.ViewLevel 视图层级 视图默认被分为以上层级,也可以通过更改该枚举实现自定义层级结构,当UI模块初始化时,系统会根据该枚举包含的字段自动创建视图层级: 2.创建视图 以一个首页视图为例...,创建脚本HomeView,继承UIView视图基类: using SK.Framework; public class HomeView : UIView {} 将脚本挂载到视图预制体上,并将预制体放到...和OnInvisible,当视图加载和显示时,使用OnVisible动画事件,当视图隐藏和卸载时,使用OnInvisible动画事件: 动画事件分为动画的播放、UnityEvent事件的执行和声音的播放...Tween类型动画中,Main表示该视图的整体动画,也可以为该视图下的UI元素添加动画,通过拖拽UI元素“Drop Animation Element Here”区域实现添加: 四个开关分别表示移动动画...,EndSound表示动画结束时要播放的声音。

72320

【iOS】教你用ZFPlayer+KTVHTTPCache搭建缓存,预加载的播放

一、缓存+预加载功能 1、播放器mgr核心代码 mgr实现ZFPlayerMediaPlayback协议,然后初始化时,开启本地服务器 + (void)initialize { [KTVHTTPCache...[weakSelf preload: playable]; }; } 预加载的规则是预加载当前视频的上2个,和下2个视频,逐个开启预加载,视频预加载(核心类KTVHCDataLoader)10%...urlStr) return nil; // 判断是否已在队列 __block Boolean res = NO; @synchronized (self.preloadArr...[self removePreloadTask:loader]; [self processLoader]; } } 二、无缝衔接转场动画 这里我直接拿ZFPlayerDemo的一个列表播放...addSubview:fromView]; container.backgroundColor = [UIColor clearColor]; // 添加动画临时视图 fromView

7.3K40

UIview

UIView UIView类定义了一个矩形区域屏幕上和管理内容的接口。 Overview 在运行时,一个视图对象处理任何内容的呈现它的面积,还处理任何与内容交互。...父视图可以包含任意数量的子视图但每个子视图只有一个父视图,负责适当定位它的子视图。 一个视图的几何定义框架,边界和中心属性。...的尺寸部分框架和边界矩形耦合在一起,因此改变大小的矩形更新的大小。如何使用UIView类的详细信息,看到视图iOS编程指南。...视图包含使用UIKit定制内容或核心图形、系统调用视图的draw(_:)方法。该方法的实现负责绘制视图的内容当前图形上下文,这是系统设置的自动调用该方法之前。...因此,你应该叫UIView类的方法从代码运行您的应用程序的主线程。这可能不是严格必需是唯一一次创建视图对象本身,而是所有其他操作应该发生在主线程。

69310

iOS Core Animation的用法

iOS,展示动画可以类比于显示生活的“拍电影”。...它设定开始值结束值花费的时间。期间会被速度的属性所影响。 RemovedOnCompletion 这个属性默认为 true,那意味着,指定的时间段完成后,动画就自动的从层上移除了。...这样的话,下次你通过-set 方法设定动画的属 性时,它将再次使用你的动画,而非默认的动画。 Speed 默认的值为 1.0.这意味着动画播放按照默认的速度。...BeginTime 这个属性组动画中很有用。它根据父动画组的持续时间,指定了开始播放动画的时间。...不会被图层边界剪裁掉。 一个CAShapeLayer可以边界之外绘制。 你的图层路径不会像在使用Core Graphics的普通CALayer一样被剪裁掉。 不会出现像素化。

1.3K30

图层树和寄宿图 -- iOS Core Animation 系列一

视图层级关系可以互相嵌套,一个视图可以管理它的所有子视图的位置。 iOS,所有的视图都是从UIView这个基类派生出来的。...CALayer类概念上和UIView类似,也是一些被层级关系树管理的矩形块,也可以包含一些内容,并且管理子视图的位置。...1.3 平行的层级关系 每个UIView都对应着一个CALayer,视图的职责是创建并管理这个图层,以确保党子视图层级关系添加或者被移除的时候,他们对应的图层也同样的在对应的层级关系树中有相同的操作...2.1.4 maskToBounds 看上面最新的运行图,发现图片超出了视图边界。因为默认情况下,UIView仍会绘制超过边界的内容,CALayer也不例外。...这是因为我们CALayerDelegate方法,没有对超出边界歪的内容提供绘制支持。 除非创建一个单独的图层,我们平时基本不会用到CALayerDelegate。

1.2K20

UIKit Dynamics:开始入门 —《Graphics & Animation系列一》

上图显示了应用的当前行为及其关联。 当前代码的任何行为都不能“意识”屏障,所以就下层动态引擎而言,屏障甚至不存在。...碰撞行为与其相关的每个项目周围形成“边界”; 这将它们从可以通过彼此的对象变成更坚实的对象。 更新前面的图,可以看到碰撞行为现在与两个视图相关联: ?...最后一节,每当用户点击屏幕时,都会添加另一种类型的动态行为UISnapBehavior。 一个UISnapBehavior使一个对象跳跃一个有弹性的弹簧式动画的指定位置。...viewDidLoad上添加两个属性: var square: UIView! var snap: UISnapBehavior! 这将跟踪方块视图,以便您可以从视图控制器的其他位置访问它。...viewDidLoad,从square声明删除let关键字,以便它使用新属性而不是局部变量: square = UIView(frame: CGRect(x: 100, y: 100, width

1.8K30

CALayer的寄宿图

一个视图就是屏幕上显示的一个矩阵块(比如图片、文字或者视频),它能够拦截点击以及触摸手势等用户输入。视图层级关系可以相互嵌套,一个视图可以管理他的所有所有子视图的位置。...iOS当中,所有的视图都是从一个叫做UIView的基类派生而来,UIView可以处理触摸事件,支持基于CoreGraphics的绘图,可以做仿射变换(例如旋转或缩放),或者简单的滑动以及渐变动画。...上面我们通过CALayer一个普通的UIView展示了一张图片。...,默认情况下,UIView会绘制超过边界的内容或者子视图CALayer下也是这样的。...标准设备上,一个点就是一个像素;但是Retina屏幕上,按照不同的屏幕尺寸,一个点可以表示一多个像素。

1K20

【IOS开发进阶系列】动画专题

默认情况下,UIView仍然会绘制超过边界的内容或是子视图CALayer下也是这样的。        ...图3.8 视图层级绿色视图被绘制红色视图的后面         我们希望真实的应用也能显示出绘图的顺序,同样地,如果我们提高绿色视图的zPosition(清单3.3),我们会发现顺序就反了...现实,这个点通常是视图的中心(图5.11),于是为了应用创建拟真效果的透视,这个点应该聚在屏幕中点,或者至少是包含所有3D对象的视图中点。...但是并不像以前那样直接将立方面添加到容器视图的宿主图层,我们将他们放置一个CATransformLayer创建一个独立的立方体对象,然后将两个这样的立方体放进容器。...我们并不会受限于要在一个矩形播放视频;清单6.16演示了3D,圆角,有色边框,蒙板,阴影等效果(见图6.17).

41410

iOS UI控件了解一下

iOS开发及测试,除了业务逻辑和算法之外,UI控件是最重要的一部分,因此熟悉UI控件及实现原理,对于了解开发实现和测试是相当必要的,这篇文章将给大家介绍常用的UI控件及实现。...iOS中用UIView来表示视图,App能看到的元素,都是UIView及其子类,通俗的说各种UI控件都属于view,不同的控件代表不同种类的view。iOS中所有能看到的内容都是view或其子类。...当一个view设置bounds时,会把自己当成一个容器,定义自己的边界大小以及左上角的初始坐标。当子视图添加到此视图时,会根据bounds指定的原点(0,0)计算frame,而非左上角。...(1)UILabel(标签):是显示文本的控件,AppUILabel是出现频率最高的控件。...AppUITextField出现频率也比较高; (2)iOS系统借助虚拟键盘实现输入,当点击输入框,系统会自动调出键盘,方便 你进一步操作。

2.6K20

iOS新的视频开发框架AVPlayerViewContoller与画中画技术

iOS8,iOS开发框架引入了一个新的视频框架AVKit,其中提供了视频开发类AVPlayerViewController用于应用嵌入播放视频的控件。...iOS8,这两个框架的视频播放功能并无太大差异,基本都可以满足开发者的需求。...于此同时,iOS9,MPMoviePlayerController与MPMoviePlayerViewController类也被完全易用,开发者使用AVPlayerViewController可以十分方便的实现视频播放的功能并在一些型号的... (nonatomic, readonly) CGRect videoBounds; //视频播放器的视图 自定义的控件可以添加在其上 @property (nonatomic, readonly, nullable...两指的捏合操作可以将缩小的视频播放窗口进行任意尺寸的放大,如果将视频窗口拖进屏幕的边界,视频窗口会被吸进边界,用户可以通过拖拽手势将其拉出,如下图: ?

2K40

UI篇-UIResponder之事件传递和响应精析

分别有多点触控、摇一摇以及远程操作(iOS之后新增了3DTouch事件类型)。一个用户点击事件处理过程,UIEvent对象是唯一的。...其中涉及到了UIView的两个方法(可以重写),当hitTest返回YES才会调用这个View的 Touch事件,因为如果返回NO,则当前View被排除相应链之外了。 ?...3.类似地,视图层次的每个后续视图如果不处理事件都首先传递给它的视图控制器(如果有的话),然后是它的父视图。 4.最上层的容器视图将事件传递给UIWindow对象。...,然后调用hitTest: withEvent:依次获取处理这个事件的所有视图对象,获取所有的可处理事件对象后,开始调用这些对象的touches回调方法 自定义View重写 touchesBegan...创建一个 UIBezierPath,通过 [path containsPoint: point]来判断当前的点是否圆内,pointInside的返回值直接影响touchesEnded的调用,如果返回

2.4K30

iOS动画开发之三——UIView的转场切换 原

iOS动画开发之三——UIView的转场切换         前两篇博客,我们分别介绍了UIView动画的两种使用方式,分别为,带block的方式:http://my.oschina.net/u/2340880...,任何其子视图的改变或者其自身的改变都会触发转场动画的效果, 系统提供的转场效果在第一篇博客已经介绍过。        ...+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration...,用于切换两个view,通过执行这个方法,会将formView从其父视图上移除,将toView重新粘在其父视图上,展现一个动画效果。     ...通过使用上述两个方法,你会发现某些效果会非常突兀,比如想要改变视图的颜色,它会在转场动画播放完成后,颜色突然的变化,要改善这一效果,我们需要设置options参数包含:UIViewAnimationOptionAllowAnimatedContent

84710

IOS触摸事件分发机制详解

Hit-Testing就完美的解决了这个问题,通过检测触摸点是否相关的视图边界范围内,如果在,就继续递归检测该视图的所有子视图,离用户最近的那个视图边界如果包含触摸点,那么它就是我们要找的Hit-Test...点击不在view B内,但是view C内,所以接下来检测view D和view E 点击不在view D内,而是view E内,并且view E是包含点击的视图离用户最近的,所以view E...具体的检测工作是通过UIView两个方法来完成的 - (nullable UIView *)hitTest:(CGPoint)point withEvent:(nullable UIEvent *)event...的边界范围内,如果在view的边界范围内,则返回YES,然后,视图中递归调用 hitTest:withEvent: 。...UIKit,UIApplication、UIView、UIViewController这几个类都是直接继承自UIResponder类 第一响应者(first responder) 第一响应者能够优先处理事件

3.5K90

CALayer 实用属性补充

这个属性对CGImage和NSImage都起作用),意味着它可以时任何对象类型,但实际上,如果给contents赋值不是CGImageRef,得到的都将是空白图片。...的contentMode一样,目的是为了处理内容图层的边界内如何对齐。...kCAGravityResizeAspectFill  contentsScale 这个属性是浮点类型,默认值为1.0,它定义了像素尺寸和视图大小的比例(类似于分辨率,UIView相似功能的属性是contentScaleFactor...contentsScale maskToBounds 默认情况下,UIView会绘制超过边界的内容或子视图,CALayer也一样。...UIView有一个叫做clipsToBounds属性可以用来决定是否显示超出边界的内容,CALaer对应的属性是maskToBounds,设置为YES,会剪去超出边界的部分(不显示)。

91530

MyLayout&TangramKit 的重大升级!

UIView类中提供了一个可供重载的方法: - (CGSize)intrinsicContentSize NS_AVAILABLE_IOS(6_0); 如果某类视图有自己的固有内容尺寸则需要重载这个方法的实现...设置约束依赖时将容器视图的上下左右分别依赖UIScrollView视图的上下左右边界,如果需要上下滚动则将容器视图中的最底部子视图的底部边界依赖容器视图的底部边界。...上面的约束设置实现视图滚动的机制也有一定的局限性!那就是一旦容器视图中添加子视图时就需要重新调整容器视图的右边界和下边界的约束依赖。...:.wrap, height:.wrap) 1.容器视图实现尺寸自适应 MyLayout&TangramKit的定义出了特殊的布局视图这个概念。...这里只介绍将MyLayout&TangramKit的布局视图加入AutoLayout布局体系中去的一些方法。 1.将布局视图添加到非布局父视图中 因为布局视图也是一个视图,都是从UIView派生。

2K20
领券