Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 无法停止assetWriter完成写入_Video_Crash_Save_Screen Capture_Avassetwriter - Fatal编程技术网

Video 无法停止assetWriter完成写入

Video 无法停止assetWriter完成写入,video,crash,save,screen-capture,avassetwriter,Video,Crash,Save,Screen Capture,Avassetwriter,我正在尝试做截屏和写视频文件 assetWriterTimer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector (writeSample:)

我正在尝试做截屏和写视频文件

assetWriterTimer = [NSTimer scheduledTimerWithTimeInterval:0.5
                                                    target:self
                                                  selector:@selector (writeSample:)
                                                  userInfo:nil
                                                   repeats:YES] ;

-(void) writeSample: (NSTimer*) _timer
{
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
           //capture and save image to video
        });
}
为了停止录音,我写

-(void) stopRecording 
{

[assetWriterTimer invalidate];
assetWriterTimer = nil;
[assetWriterTimer release];

[assetWriter finishWritingWithCompletionHandler:^(){
    NSLog (@"finished writing completion handler");
}];

NSLog (@"finished writing");
}
然而,我经常遇到这种错误和应用程序崩溃。我该怎么办

-当状态为2'时,[AVAssetWriter finishWriting]无法调用方法。

您是否在某处调用[assetWriter startWriting]

这个错误基本上意味着作者现在并没有真正写作,所以它不能真正停止写作。如果你看一下它的意思,你会发现当它完成写作时,2是代表什么的

enum {
 AVAssetWriterStatusUnknown = 0,
 AVAssetWriterStatusWriting,
 AVAssetWriterStatusCompleted,
 AVAssetWriterStatusFailed,
 AVAssetWriterStatusCancelled
};

你是在给[assetWriter startWriting]打电话吗

这个错误基本上意味着作者现在并没有真正写作,所以它不能真正停止写作。如果你看一下它的意思,你会发现当它完成写作时,2是代表什么的

enum {
 AVAssetWriterStatusUnknown = 0,
 AVAssetWriterStatusWriting,
 AVAssetWriterStatusCompleted,
 AVAssetWriterStatusFailed,
 AVAssetWriterStatusCancelled
};

你的回答很好。苹果雇佣撒旦来编写他们的文档,创建他们的API和开发工具,这是一个骗局
AVAssetWriterStatusUnknown
不仅指您所说的内容,还指与
AVAssetWriter
相关的、与写入未初始化的文件有关的任何内容。我们的想法是:如果我们甚至不写作,我们怎么能完成写作?API的文档记录和构思都非常糟糕,这不应该成为崩溃的原因,而应该是finish处理程序中的警告,但是satan在Apple内部运行该程序,因此,这是一个崩溃,没有汤给你你你的答案非常棒。苹果雇佣撒旦来编写他们的文档,创建他们的API和开发工具,这是一个骗局
AVAssetWriterStatusUnknown
不仅指您所说的内容,还指与
AVAssetWriter
相关的、与写入未初始化的文件有关的任何内容。我们的想法是:如果我们甚至不写作,我们怎么能完成写作?API的文档记录和构思都非常糟糕,这不应该成为崩溃的原因,而应该是finish处理程序中的警告,但是satan在Apple内部运行该程序,因此,这是一个崩溃,没有汤给你