美文网首页
GPUImage录制视频的暂停

GPUImage录制视频的暂停

作者: 今年27 | 来源:发表于2018-01-17 18:06 被阅读85次

定义一个自己的writer继承GPUImageMovieWriter

#import@interface YQSImageMovieWriter : GPUImageMovieWriter

-(void)pause;

-(void)continueWrite;

-(void)configure;//每次暂停或者播放之前都要调用

@end

//

//  YQSImageMovieWriter.m

//  YQSImageViewController

//

//  Created by lenkeng on 17/01/2018.

//  Copyright © 2018 lenkeng. All rights reserved.

//

#import "YQSImageMovieWriter.h"

@interface YQSImageMovieWriter(){

    BOOL _isPause;

//    BOOL _isAudioOn;

    CMTime _offset;

    CMTime _timeOffset;

    CMTime _last;

    BOOL _isDisCount;

}

@end

@implementation YQSImageMovieWriter

//BOOL _isDisCount = YES;

//CMTime _offset = kCMTimeZero;

//CMTime _timeOffset = CMTimeMake(0, 1);

//CMTime _isDisCount = YES;

-(void)newFrameReadyAtTime:(CMTime)frameTime atIndex:(NSInteger)textureIndex{

    if (_isPause) {

        return;

    }

    if (_isDisCount) {

        _isDisCount = NO;

        _offset = CMTimeSubtract(frameTime, _last);

        if (_offset.value > 0) {

            _timeOffset = CMTimeAdd(_timeOffset, _offset);

        }

    }

    _last = frameTime;

    frameTime = CMTimeSubtract(frameTime, _timeOffset);

//    NSLog(@"_timeOffset->%lf, ->%lf", _timeOffset.value, _timeOffset.timescale);

    [super newFrameReadyAtTime:frameTime atIndex:textureIndex];

}

-(void)pause{

    _isPause = YES;

}

-(void)continueWrite{

    _isPause = NO;

//    [self configure];

}

-(void)configure{

    _timeOffset = CMTimeMake(0, 1);

    _isDisCount = YES;

//    _isAudioOn = YES;

    _offset = kCMTimeZero;

}

-(void)processAudioBuffer:(CMSampleBufferRef)audioBuffer{

    if (_isPause) {

        return;

    }

   [super processAudioBuffer:audioBuffer];

}

@end

注释一下 configure在录制,暂停,之前调用即可

相关文章

  • GPUImage录制视频的暂停

    定义一个自己的writer继承GPUImageMovieWriter #import@interface YQSI...

  • iOS音视频学习

    GPUImage 可以实现的功能(基于GPU) 视频合成 视频加水印 修改图片 使用GPUImage拍照 录制视频...

  • GPUImage 录制视频

    核心代码如下 在这里我强调一下,我在开发的时候,被一个错误困扰了好几天是 解释一下,这个问题出现的原因是文件路径出...

  • GPUImage 录制视频bug

    GPUImage第一次录制视频会闪一下解决办法 [_videoCamera addAudioInputsAndOu...

  • GPUImage填坑心得

    项目用到GPUImage录制视频,同时还要加水印录制,录制的教程大把,但是这个库15年就不维护了,导致很多坑没有补...

  • GPUImage-3-2、对视频编码

    在上一节中,我们使用GPUImage录制美颜视频,但是录制完成后,1、视频的体积很大,不利于传输;2、并且当我们点...

  • GPUImage实现视频录制美颜

    含泪把这块代码贴这 GPUImage我就不多说了(原理试着研究) 初始化链式反应 因为可能会有录制失败的时候,或者...

  • GPUImage-滤镜视频录制

    核心思路 通过GPUImageVideoCamera采集视频和音频的信息,音频信息直接发送给GPUImageMov...

  • GPUImage-滤镜视频录制

    核心思路 通过GPUImageVideoCamera采集视频和音频的信息,音频信息直接发送给GPUImageMov...

  • 短视频从无到有 (五)录制视频实时添加水印

    上篇文章已经讲到给录制好的视频添加水印,这篇文章主要阐述下如何使用GPUImage给实时录制视频添加水印的思路。原...

网友评论

      本文标题:GPUImage录制视频的暂停

      本文链接:https://www.haomeiwen.com/subject/rbbuoxtx.html