私が間違っていることがわからない、簡単なカスタムカメラを作成したい、AVCaptureShotoOutputをAVCaptureSessionにアタッチして作成し、AVCapturePhotoSettingsを最小設定で作成して写真を撮る以下のコード。AVCapturePhotoSettingsが受け入れられないNSDictionary要素を受け入れる
例外が発生します。kCVPixelBufferPixelFormatTypeKeyは定義されていませんが、実際には渡しているNSDictionaryにあります。私はここにいくつかの光を必要とする
、感謝public void TakePicture()
{
var output = new AVCapturePhotoOutput();
_captureSession.AddOutput(output);
var settings = AVCapturePhotoSettings.Create();
var previewPixelType = settings.AvailablePreviewPhotoPixelFormatTypes.First();
var keys = new[]
{
new NSString("kCVPixelBufferPixelFormatTypeKey"),
new NSString("kCVPixelBufferWidthKey"),
new NSString("kCVPixelBufferHeightKey"),
};
var objects = new NSObject[]
{
// don't have to be strings... can be any NSObject.
previewPixelType,
new NSString("160"),
new NSString("160")
};
var dicionary = new NSDictionary<NSString, NSObject>(keys, objects);
settings.PreviewPhotoFormat = dicionary;
output.CapturePhoto(settings,this);
}
私はこの問題を次のように解決しました:settings.PreviewPhotoFormat = new NSDictionary(CVPixelBuffer.PixelFormatTypeKey、settings.AvailablePreviewPhotoPixelFormatTypes [0]);最初の試みがうまくいかなかった理由がわからない –
RollRoll