質問

私は、カメラのフレームをキャプチャするAVFrameworkを使用していると私はプロセスに好きとUIImageViewでそれらを表示していましたが、いくつかの問題を抱えています。私は、コードを持っています:

// Delegate routine that is called when a sample buffer was written
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
{ 
    //NSLog(@"Capturing\n");
    // Create a UIImage from the sample buffer data
    UIImage *image = [self imageFromSampleBuffer:sampleBuffer];     

    NSLog(@"Image: %f %f\n", image.size.height, image.size.width);
    [imageView setImage:image];
}

しかし、それは表示されません。 NSLogで正しいサイズのショーアップ、そして私が置いたときます:

[imageView setImage:[UIImage imageNamed:@"SomethingElse.png"]]; 

のviewDidLoadに、画像が(私はUIImageViewが正しく接続されている知っているように)が正しく表示されます。

これがうまくいかなければならない何らかの理由があるの?私は今、途方に暮れています。

乾杯、 ブレット

役に立ちましたか?

解決

あなたは、メインスレッド上でこれをやっていますか?あなたはどちらか(あなたが最初に処理をやっているので、望ましくない)委譲のためのメインキューを使用したりすることができます:

dispatch_async(dispatch_get_main_queue(), ^{
    imageView.image = ...;
});

他のヒント

であるImageViewのは正しく設定されていますか? ImageViewのは実際にはnilであると、[imageView setImage:image];へのお電話は黙って何もしません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top