前述のように、関心のあるポイントを変更してフォーカスを変更しようとしています。
関数は常にYESを返し、ゲッターを使用して関心のある新しいフォーカスポイントを読み取ると、変更されましたが、isFocusAdjusting = NOです
ご参考までに:
focusMode: AVCaptureFocusModeContinuousAutoFocus
newFocusPointOfInterest: Normalized CGPoint
フォーカスは(0.5f、0.5f)または基本的にオートフォーカスでロックされているようです
このコードは、iPhone 6 と iPhone 6+ を除くすべてのデバイスで機能しました。私が間違っていることはありますか?API 呼び出しに変更はありますか?
助けてください
- (BOOL)changeDeviceFocusPointOfInterest:(CGPoint)newFocusPointOfInterest
focusMode:(AVCaptureFocusMode)focusMode
{
NSError *error;
BOOL ret = NO;
if([device lockForConfiguration:&error] )
{
if ([device isFocusModeSupported:focusMode] && [device isFocusPointOfInterestSupported])
{
[device setFocusPointOfInterest:newFocusPointOfInterest];
[device setFocusMode:focusMode];
ret = YES;
}
else
{
NSLog(@"focus point setting not supported:{%f,%f}", newFocusPointOfInterest.x, newFocusPointOfInterest.y);
ret = NO;
}
[device unlockForConfiguration];
}
else
{
NSLog(@"cant lock hardware settings for changing focus point:{%f,%f}", newFocusPointOfInterest.x, newFocusPointOfInterest.y);
ret = NO;
}
return ret;
}
**編集:追加の観察:**
Apple AVCam および AVCamManual が提供するサンプル アプリを確認しました - タップしてフォーカスすると AVCam で動作しますが、AVCamManualと同じデバイス では動作しません サンプル ワークスペースで手動制御に関連するコードを削除しようとしましたが、結果は得られませんでした。
Key Value 観察は、lensPosition または focusAdjusting プロパティに変更がないことを示しています
この問題に関するフォーラム投稿を 1 つだけ見つけましたが、提案された回避策はどれもうまくいかないようですhttps://devforums.apple.com/message/1073042#1073042
フォーカスを極端なカスタム値に設定してから、必要な focusPointOfInterest でモードを ContinousAuto に設定しようとしました。これはフォーカスの変更をトリガーしますが、必要な関心のあるポイントにフォーカスしません