我正在尝试使用ASScreenRecorder录制屏幕。问题是这有时会起作用,有时它会显示警告:无法在日志上写入缓冲区,这是因为这行代码:
BOOL success = [_avAdaptor appendPixelBuffer:pixelBuffer withPresentationTime:time];
if (!success) {
NSLog(@"Warning: Unable to write buffer to video");
}
返回NO不一致。知道为什么吗?以及如何解决它?
我提到了大部分相关问题,对我来说没有任何作用。 这是一个包含未解决问题的图书馆:https://github.com/alskipp/ASScreenRecorder/issues/15
答案 0 :(得分:0)
我发现解决方案可能不是有效的解决方案,但它正在为我做这个伎俩。 让线程保持0.001(选择任何时间间隔,这个对我来说没有任何明显的跳帧)
BOOL success = [_avAdaptor appendPixelBuffer:pixelBuffer withPresentationTime:time];
[NSThread sleepForTimeInterval:0.001]; // this line added
if (!success){
NSLog(@"Warning: Unable to write buffer to video");
}
我希望将来找到更好的解决方案。