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内部运行该程序,因此,这是一个崩溃,没有汤给你