0
让我首先说我是一个完全的Objective-C新手,并且我正在拾取一个现有的代码库,所以我试图疯狂地阅读有关NSRunLoop等,但我会喜欢一些额外的帮助。在startRunningQTCaptureSession:开始运行阻塞线程
[[NSRunLoop mainRunLoop] runUntilDate:[NSDate distantFuture]];
[_captureSession startRunning];
return [NSNumber numberWithInt:0];
在的应该返回一个函数,而是永远块:
基本上,我继承的代码看起来像。我需要这个返回,我不知道为什么它阻止。一些分散的代码可能会有所帮助:
_captureDecompressedVideoOutput = [[QTCaptureDecompressedVideoOutput alloc]
init];
[_captureDecompressedVideoOutput setDelegate:self];
[_captureDecompressedVideoOutput performSelectorOnMainThread:@selector(setPixelBufferAttributes:) withObject:captureDictionary waitUntilDone:NO];
任何想法发生了什么?
我在OSX 10.8上使用XCode 4.5在QTCapture会话中看到了一些类似的怪异行为。我发现[这个示例命令行应用程序]运行正常,但只有当它使用[NSThread启动]运行... 我刚刚开始使用AVCaptureSession(我知道这是iOS上可用,但最近才意识到也可用在Mac上),这更直截了当。 (我碰到的唯一呃逆是你必须说“setWantsLayer”和“setLayer”来给出一个CALayer的视图,以便与AVCaptureVideoPreviewLayer一起使用。)我还了解到AVCaptueSession应该取代QTCaptureSession ... – bellkev 2012-10-31 07:12:10