iOS开发之仿微信小视频功能实现[亲测有效]

iOS开发之仿微信小视频功能实现[亲测有效]这次的任务是模仿微信实现小视频功能此前从未接触视频这类多媒体的开发,有点不知道从何下手的感觉后面发现在pod里面有一个wechatshortvideo的第三方控件,很多问题就能在这里得到解决。第一部分我们先来介绍一下按钮的事件小视频里面的按住拍功能其实是调用了按钮里面的许多事件的,这几个事件可能在一般情况下不会用,可是认识一下这几个事件还是比较有用的1.touchdown按

大家好,欢迎来到IT知识分享网。

这次的任务是模仿微信实现小视频功能

此前从未接触视频这类多媒体的开发,有点不知道从何下手的感觉

后面发现在pod里面有一个wechatshortvideo的第三方控件,很多问题就能在这里得到解决。

第一部分我们先来介绍一下按钮的事件

小视频里面的按住拍功能其实是调用了按钮里面的许多事件的,这几个事件可能在一般情况下不会用,可是认识一下这几个事件还是比较有用的

1.touch down 按钮被按下

2.touch up inside 按钮被点击,而且接触手指放开时,手指在按钮里面。

3.touch up outside 按钮被点击,而且接触手指放开时,手指在按钮外面。

4.touch drag enter 按钮在点击的过程中,接触手指进入按钮里面。

5.touch drag exit 按钮在点击的过程中,接触手指离开按钮范围。

只要监听了这些事件,对于微信小视频按钮的处理,就得到了很好的解决。

第二部分是介绍一下SCrecorder

这是一个第三方控件,这是的recorder需要装载在一个uiview里面。

    _recorder = [SCRecorder recorder];
    _recorder.captureSessionPreset = AVCaptureSessionPreset640x480;//设置分辨率
    _recorder.maxRecordDuration = CMTimeMake(300, 30);
    _recorder.delegate = self;
    _recorder.autoSetVideoOrientation = YES;
    
    UIView *previewView = self.scanPreviewView;
    _recorder.previewView = previewView;//把recorder装载uiview里面。
    

初始化一个recorder之后,就可以用[(screcorder) record](开始录制)和[(screcorder) pause](停止录制)来控制录制的情况。

三、介绍一下SCplayer

录制完之后自然就是能够播放,这里也用到了screcorder里面带的scplayer。

_player = [SCPlayer player];
    SCVideoPlayerView *playerView = [[SCVideoPlayerView alloc] initWithPlayer:_player];//用作装载scplayer
    playerView.playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
    playerView.frame = self.scanPreviewView.bounds;
    playerView.autoresizingMask = self.scanPreviewView.autoresizingMask;//设为自动填充
    [self.scanPreviewView addSubview:playerView];
    _player.loopEnabled = YES;//循环播放
    [_player setItemByAsset:_recorder.session.assetRepresentingSegments];//将文件路径转化为avasset,用于scplayer播放

初始化一个scplayer之后,就可以用[(scplayer) play](开始播放)和[(scplayer) pause](停止播放)来控制播放

题外知识:纯代码生成控件以及控制

这次的任务完成之后,对于控件我更加了解,一个控件的生成以及控制,其实是可以用纯代码去实现的,而且这样做起来会比较方便。

比如说一个button的纯代码生成:

UIbutton *button = [[UIbutton alloc]init];
//对button的背景和title处理
button.frame=CGRectmake;
[superview addsubview:button];

代码监听button的话就用add target。

对于用storyboard,我个人更加热衷于纯代码生成,而且这样会比较方便,debugger起来也会轻松很多。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24727.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信