View in English

  • Apple Developer
    • 今すぐ始める

    「今すぐ始める」を詳しく見る

    • 概要
    • 学ぶ
    • Apple Developer Program

    最新情報

    • 最新ニュース
    • Hello Developer
    • プラットフォーム

    プラットフォームを詳しく見る

    • Appleプラットフォーム
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    特集

    • デザイン
    • 配信
    • ゲーム
    • アクセサリ
    • Web
    • Home
    • CarPlay
    • テクノロジー

    テクノロジーを詳しく見る

    • 概要
    • Xcode
    • Swift
    • SwiftUI

    特集

    • アクセシビリティ
    • App Intent
    • Apple Intelligence
    • ゲーム
    • 機械学習とAI
    • セキュリティ
    • Xcode Cloud
    • コミュニティ

    コミュニティを詳しく見る

    • 概要
    • 「Appleに相談」イベント
    • コミュニティによるイベント
    • デベロッパフォーラム
    • オープンソース

    特集

    • WWDC
    • Swift Student Challenge
    • デベロッパストーリー
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Center
    • ドキュメント

    ドキュメントを詳しく見る

    • ドキュメントライブラリ
    • テクノロジー概要
    • サンプルコード
    • ヒューマンインターフェイスガイドライン
    • ビデオ

    リリースノート

    • 注目のアップデート
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • ダウンロード

    ダウンロードを詳しく見る

    • すべてのダウンロード
    • オペレーティングシステム
    • アプリ
    • デザインリソース

    特集

    • Xcode
    • TestFlight
    • フォント
    • SF Symbols
    • Icon Composer
    • サポート

    サポートを詳しく見る

    • 概要
    • ヘルプガイド
    • デベロッパフォーラム
    • フィードバックアシスタント
    • お問い合わせ

    特集

    • アカウントヘルプ
    • App Reviewガイドライン
    • App Store Connectヘルプ
    • 近日導入予定の要件
    • 契約およびガイドライン
    • システムステータス
  • クイックリンク

    • イベント
    • ニュース
    • Forum
    • サンプルコード
    • ビデオ
 

ビデオ

メニューを開く メニューを閉じる
  • コレクション
  • すべてのビデオ
  • 利用方法

その他のビデオ

  • 概要
  • Summary
  • トランスクリプト
  • コード
  • iOSアプリでのセンターフレームフロントカメラのサポート

    センターフレームとAVCapture APIにより、iPhone 17、iPhone 17 Pro、iPhone AirのフロントカメラでiOSカメラアプリを強化しましょう。APIによるズームや回転のオプションのサポート、自撮り写真や動画のより柔軟なフレーミング、集合写真で全員を自動的にフレームに収める方法を紹介します。ビデオ通話でセンターフレーム機能を利用すれば、フレーミングの自動調整により、オンライン会議やFaceTime通話でユーザーが常に画面の中央前面に映るようになります。リアルタイムのビデオ会議用に映像のぶれを補正する方法も解説します。

    関連する章

    • 0:00 - Introduction
    • 1:07 - Center Stage front camera
    • 2:09 - Center Stage for photos
    • 3:09 - Capture session setup
    • 3:56 - Dynamic aspect ratio
    • 6:47 - Smart framing monitor
    • 9:24 - Sensor orientation compensation
    • 11:53 - Center Stage for video recordings
    • 13:16 - Center Stage for video calls

    リソース

    • Supporting Center Stage front camera in your iOS app
    • AVCam: Building a camera app
    • AVFoundation
    • Capture setup
      • HDビデオ
      • SDビデオ

    関連ビデオ

    WWDC26

    • 高解像度の写真キャプチャの実装

    WWDC23

    • iPadOSアプリで外部カメラをサポート

    WWDC21

    • カメラキャプチャの新機能
  • このビデオを検索

    こんにちは、Tracyです!

    私はCamera Softwareチームの エンジニアです。 センターフレームフロントカメラを iOSアプリでサポートする方法を ご紹介できることを楽しみにしています。 私はセルフィーが大好きです! 一人で旅行するときも、 友達のグループと一緒でも。 ちょうど良いフレーミングを 得るのは、常に簡単ではありません。 私のような方なら、 セルフィースティックに手を伸ばしたり 腕が一番長い友達に スマホを渡したりしたことがあるでしょう。 iPhone 17、iPhone Air、iPhone 17 Pro の センターフレームフロントカメラは この問題を解決してくれます。 撮影のフレーミングに より大きな柔軟性を提供します。 まず、センターフレーム フロントカメラの概要から説明します。 次に、写真向けの センターフレームを サポートするための API を解説します。 最後に、動画撮影と ビデオ通話向けの センターフレームサポートについて説明します。

    従来、スマートフォンのフロントカメラの センサーは4x3のアスペクト比を持ち、 スマホの向きによって フレーミングが制限されていました。 しかし、センターフレームフロントカメラは 正方形のイメージセンサーを搭載しています。 この正方形の形状により、 任意のアスペクト比を選択できます。 縦向きのセルフィーも 横向きのセルフィーも iPhoneを回転させずに撮影できます。 より安定した 片手での操作が可能になります。 カメラが中央に配置されているため、 アイコンタクトがより自然に感じられます。

    この正方形センサーは、95度の視野角を持つ レンズと組み合わされており、 iPhoneのフロントカメラの中で 最も広い視野角です。 この広い視野角により、 グループセルフィーのフレーミングが向上し、 動画の安定化や、ビデオ通話中に あなたを中央に保つことができます。 センターフレームフロントカメラの機能を 理解したところで、

    アプリに完璧な写真フレーミング体験を 組み込む方法をご紹介します。 ここでの重要な機能は 自動ズームと自動回転です。 正方形センサー、 広い視野角、 自動的な顔・視線検出を組み合わせることで、 センターフレームフロントカメラは 向きをスマートに適応させ、 狭い視野と広い視野を 自動で切り替えます。 その仕組みをご覧に入れましょう。 ここで、屋外でセルフィーを撮っています。 友人のKarenが加わると、 フレームがズームアウトします。 さらに友人が加わると、 全員を含めるようにフレームが回転します。 アプリにこの体験を組み込むには、 まずキャプチャセッションの セットアップを確認し、 次に2つのAPIを詳しく見ていきます: ダイナミックアスペクト比と スマートフレーミングモニターです。 最後に、センサーオリエンテーション 補正について説明します。

    典型的な写真キャプチャの セットアップから始めましょう。 まず、AVCaptureSessionを作成します。 センターフレームフロントカメラを見つけます。 APIではAVCaptureDeviceとして表現され、 .builtInUltraWideCamera デバイスタイプを使用します。 そのカメラ用の AVCaptureDeviceInputを作成します。 カメラプレビューを取得するには、 AVCaptureVideoPreviewLayerを追加します キャプチャセッションに追加します。 また、写真を受け取るために AVCapturePhotoOutputを追加します。 入力と出力を追加すると、 キャプチャセッションは暗黙的に 互換性のあるメディアタイプ間で AVCaptureConnectionsを形成します。

    このセットアップが整ったところで、 ダイナミックアスペクト比に移りましょう。 これは手動と自動の両方のフレーミングの 基本的な構成要素です。 iOS 26から、AVCaptureDeviceには dynamicAspectRatioプロパティが含まれます。 このプロパティを設定すると、 キャプチャデバイスは 選択したアスペクト比に 正方形のイメージセンサーから 先ほど示したようにクロップします。 キャプチャセッションを再構築したり プレビューを中断したりせずに行われます。 切り替えはシームレスかつ迅速です。 以下は、例示するフォーマットを 一覧にしたテーブルです ダイナミックアスペクト比を サポートするものです。 前面向きの .builtInUltraWideCamera が必要であり、 前述のとおりです。 正方形フォーマットのみでサポートされており、 解像度は1280から4032まで 対応しています。

    利用可能なアスペクト比は5種類あります: 3x4、4x3、 9x16、16x9、1x1。 4032の写真フォーマットは 3x4と4x3のみをサポートしていることに注意してください。 これら2つのアスペクト比が 写真に最高の解像度を提供するためです。 これらのフォーマット要件を踏まえた上で、 ダイナミックアスペクト比を使った 「タップで回転」ボタンの 実装方法をご紹介します。 向きを切り替えるためのものです。 まず、センターフレームフロントカメラを 選択します AVCaptureDevice.DiscoverySessionを 作成することで。 .builtInUltraWideCamera を 使用したい唯一のデバイスタイプとして指定し、 .front を位置として指定します。 単一のデバイスのみを 要求しているため、 ディスカバリーセッションのデバイス配列から 最初の要素を取得するだけです。 希望するアスペクト比を サポートするフォーマットを見つけます。 ここでは、4x3を例として使用します。 各フォーマットの supportedDynamicAspectRatiosプロパティを確認します。 これは、フォーマットがサポートする アスペクト比の配列を返します。 簡単のため、 最初の一致を選択しています。 設定のためにデバイスをロックした後、 選択したフォーマットを activeFormatとして設定します。 次に、ダイナミックアスペクト比を 4x3に設定します。

    この呼び出しは 最初のバッファのタイムスタンプを返します。 変更が有効になる時点のです。

    このコードが整ったことで、 アプリはタップで回転をサポートし、 ワンタップで向きを 変更できるようになりました。

    次は、スマートフレーミングモニターAPI です。 これはダイナミックアスペクト比と 連携して動作し、 人が移動する中でも自動的に フレーミングを調整します。 iOS 26から、AVCaptureDeviceには AVCaptureSmartFramingMonitorオブジェクトが 含まれます。 このモニターは定期的な フレーミングの推奨事項を提供します 自動的な顔と視線の検出に基づいて。 各推奨事項には、アスペクト比と ズームファクターが含まれており、 アプリが適用するか無視するかを 選択できます。 このモニターは写真キャプチャ用に 設計されているため、 4032の写真フォーマットを使用する場合にのみ 推奨事項を提供します。 コードでモニターを設定する方法を 説明します。 ダイナミックアスペクト比のセットアップから すでに選択された超広角フロントカメラで、 ダイナミックアスペクト比のセットアップから。 そのままお進みいただき、 サポートするフォーマットを見つけることができます 希望するアスペクト比と スマートフレーミングの両方をサポートするものを。 フォーマットが見つかったら、 設定のためにデバイスをロックして activeFormatを設定します。

    次に、カメラから smartFramingMonitorを取得します。 デフォルトでは、モニターは 推奨事項を提供しません。 ここでは、enabledFramingsを supportedFramingsのすべてに設定しています。 ただし、これをサポートされているフレーミングの サブセットに限定することもできます。 例えば、4x3のアスペクト比と ナローおよびワイドのズームファクターだけに。 モニターを設定した後、 モニターのrecommendedFramingプロパティを キーバリューで監視します。 モニターが新しいフレーミングを 推奨すると、 カメラのダイナミックアスペクト比を設定して 推奨事項を適用します そしてビデオズームファクターもです。 スムーズなプレビュー遷移のために、 まずaspectRatioを設定し、 次にzoomFactorを設定します。 モニターはいつでも開始できます。 AVCaptureSessionの実行中でも 開始できます。 UIで自動フレーミングを オフにできるようにしている場合は、 キーバリュー監視を解除して stopMonitoringを呼び出します。 アプリは自動ズームと自動回転を サポートするようになりました。 グループセルフィーに最適な フレーミング推奨事項を提供します。

    写真キャプチャの最後のトピックは センサーオリエンテーション補正です。 初期のiPhoneフロントカメラから、 センサーはランドスケープレフト向きで 搭載されています。 ポートレート向きでスマホを持って セルフィーを撮る場合、 イメージバッファは フォト出力に配信されます ネイティブのセンサー向きで。 バッファにはEXIFオリエンテーション メタデータタグが付いており、 再生時に270度回転する必要があることを 示しています。 しかし、iPhone 17、iPhone Air、 iPhone 17 Pro では、 センターフレームフロントカメラのセンサーは ポートレート向きで搭載されています。 アプリが以前動作していた 回転値に依存している場合、 写真が横向きや逆さまに 表示されることがあります。

    これを処理するために、 AVCapturePhotoOutput は デフォルトで自動的にセンサーオリエンテーション 補正を適用します。 写真を物理的に回転させ、 アプリに配信する前に EXIFメタデータを更新します。 結果の写真は ランドスケープレフト向きとなり、 以前のiPhoneフロントカメラと 同じです。 以前と同じ回転値を 引き続き使用できます。 この補正はHEIC、JPEG、 および非圧縮の処理済み写真にのみ 適用されることに注意してください。 Bayer RAWやApple ProRAWキャプチャには 適用されません。 iOS 26から、この動作を制御できます cameraSensorOrientationCompensationEnabledプロパティで。 AVCapturePhotoOutputを使用する場合、 補正をオフにしてテストし 最高のパフォーマンスを確認し、 写真の向きが正しいままであることを 確認してください。 AVCaptureRotationCoordinatorを使った 画像の回転処理について詳しく学ぶには、 「Support external cameras in your iPadOS app」をご覧ください WWDC 2023より。

    では、動画向けのセンターフレームについてです。 動画撮影とビデオ通話について 説明します。

    ダイナミックアスペクト比APIは 動画撮影にも非常に役立ちます。 タップして回転することで より広い視野を得られます。 ただし、QuickTimeのムービートラックは すべてのサンプルが同じ寸法である必要があります。 ビデオ撮影は停止する必要があります キャプチャ中にダイナミックアスペクト比を 変更した場合。 以前説明した 写真キャプチャのセットアップです。 動画撮影用に変更するには、 AVCapturePhotoOutputの代わりに AVCaptureMovieFileOutputを使用します。

    このセットアップでは、 アスペクト比が変更されると 撮影が自動的に停止します。 AVAssetWriterとともに AVCaptureVideoDataOutputを使用して動画を記録することもできます。 setDynamicAspectRatioの 完了タイムスタンプにより、 現在の撮影を終了して 新しい撮影を開始できます 更新されたアスペクト比で。 動画撮影はシネマティック安定化モードの 恩恵も受けられます: cinematicExtendedと cinematicExtendedEnhancedです。 両方ともセンターフレーム フロントカメラで顔認識に対応しています。 背景より被写体を安定して保つことを 優先します。 次に、ビデオ通話向けの センターフレームについて説明します。

    ここでは、FaceTime通話中です。 友人がトレイルで合流すると、 カメラは自動的に広角になり 二人を含めます。 センターフレームはすでにサポートされています ビデオ会議アプリで Voice over IPバックグラウンドモードを使用して スマホがロックされている間も 通話を維持している場合。 ユーザーはコントロールセンターのビデオエフェクト メニューからセンターフレームを直接オンにできます。 アプリがVoice over IP バックグラウンドモードを使用していない場合でも、 センターフレームAPIを採用することができます。 これはiPhoneのフロントカメラで 利用可能で、 iPhone 17、iPhone Air、 iPhone 17 Pro から対応しています。 すべてのシステム全体のビデオエフェクトと同様に、 ポートレート、スタジオライト、 ジェスチャーなど、 センターフレームはプロセスごとに有効化されます。 有効になると、アプリ内のサポートされている 任意のカメラに適用されます。 再び写真キャプチャのセットアップです。 ビデオ通話では出力が異なります。 ビデオ会議アプリは通常 ビデオデータ出力を使用して ストリームとしてビデオバッファを受信します。 表示、エンコード、送信は すべてアプリレイヤーで処理されます。 このセットアップを念頭に置いて、 センターフレームを有効にする方法を説明します。 まず、サポートされているフォーマットを 見つけます。 デバイスをロックした後、 それをアクティブなものとして設定します。 デフォルトでは、アプリからではなく コントロールセンターからセンターフレームを切り替えます。 有効にする前に、コントロールモードを設定します: cooperativeまたはappです。 Cooperativeモードでは、アプリのボタンからも 制御することができます。 次に、isCenterStageEnabledをtrueに設定します。 これでセンターフレームが有効になります。

    フレーミングが自動的に調整され、 全員を中央に保ちます。

    iPadに最初に追加された際の センターフレームAPIについて詳しく学ぶには、 WWDC 2021の「What's New in camera capture」をご覧ください。 センターフレームに加えて、ビデオ通話体験を 向上させるもう一つの方法があります。 センターフレームフロントカメラは iOS 26から始まるリアルタイムの 低遅延安定化モードをサポートしています。 デフォルトではオフです。 有効にするには、preferredVideoStabilizationModeを設定します AVCaptureConnectionをlowLatencyに設定します。 同じビデオ通話の 並べて比較です 低遅延安定化のオンとオフで。 左の動画では安定化はオフです。 歩きながら著しいぶれがあります。 右の動画では安定化はオンです。 映像ははるかに安定しています。

    これで、必要なものがすべて揃いました iOSアプリでセンターフレーム フロントカメラをサポートするために。

    アプリのフレーミング体験をさらに 向上させるための次のステップです。 まず、アプリにフレーミング コントロールを組み込みます 向きの切り替え、自動ズームと自動回転のトグル、 そしてセンターフレームの有効化をサポートするため。

    次に、フロントカメラのパフォーマンスを 最適化します。 センサーオリエンテーション補正を オフにしてテストします。 アプリが写真の回転を 正しく処理することを確認します。 また、1800万画素の 写真キャプチャのサポートも検討してください 優れた解像度と詳細のために。 ベストプラクティスについては、 「Implement high resolution photo capture」をご覧ください WWDC 2026より。 センターフレームフロントカメラは 私のセルフィーの撮り方を完全に変えました そしてiPhoneでのビデオ通話も。 あなたのアプリをどのように 変革するかを楽しみにしています。

    • 5:29 - Support dynamic aspect ratio

      // Select the Center Stage front camera
      
      import AVFoundation
      
      let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInUltraWideCamera], mediaType: .video, position: .front)
      
      guard let camera = deviceDiscoverySession.devices.first else {
          print("Failed to find the capture device")
          return
      }
      
      // Find a format that supports the 4x3 aspect ratio
      
      for format in camera.formats {
          if format.supportedDynamicAspectRatios.contains(.ratio4x3) {
              try! camera.lockForConfiguration()
              camera.activeFormat = format
              camera.unlockForConfiguration()
              break
          }
      }
      
      // Set dynamic aspect ratio
      
      try! camera.lockForConfiguration()
      
      let timestamp = try! await camera.setDynamicAspectRatio(.ratio4x3)
      print("Applied dynamic aspect ratio at timestamp: \(timestamp)")
      
      camera.unlockForConfiguration()
    • 7:39 - Support smart framing monitor

      // Find a format that supports smart framing
      
      import AVFoundation
      
      for format in camera.formats {
          if format.isSmartFramingSupported {
              try! camera.lockForConfiguration()
              camera.activeFormat = format
              camera.unlockForConfiguration()
              break
          }
      }
      
      // Configure the smart framing monitor
      
      let monitor = camera.smartFramingMonitor!
      
      try! camera.lockForConfiguration()
      monitor.enabledFramings = monitor.supportedFramings
      camera.unlockForConfiguration()
      
      // Monitor framing recommendations
      
      observation = monitor.observe(\.recommendedFraming, options: [.new,]) { monitor, change in
          if let framing = monitor.recommendedFraming {
      
              Task {
                  try! camera.lockForConfiguration()
                  try! await camera.setDynamicAspectRatio(framing.aspectRatio)
                  camera.videoZoomFactor = CGFloat(framing.zoomFactor)
                  camera.unlockForConfiguration()
              }
      
          }
      }
      
      // Start the smart framing monitor
      
      try! monitor.startMonitoring()
      
      // Stop the smart framing monitor
      
      observation?.invalidate()
      observation = nil
      
      monitor.stopMonitoring()
    • 14:44 - Support Center Stage for video calls

      // Find a format that supports Center Stage
      
      import AVFoundation
      
      for format in camera.formats {
          if format.isCenterStageSupported {
              try! camera.lockForConfiguration()
              camera.activeFormat = format
              camera.unlockForConfiguration()
              break
          }
      }
      
      // Turn on Center Stage
      
      AVCaptureDevice.centerStageControlMode = .cooperative
      AVCaptureDevice.isCenterStageEnabled = true
    • 0:00 - Introduction
    • Center Stage front camera is available on iPhone 17, iPhone Air, and iPhone 17 Pro. Discover how its square sensor and wide field of view give you greater flexibility to perfectly frame selfies, group shots, and video calls.

    • 1:07 - Center Stage front camera
    • Take a closer look at the Center Stage front camera's hardware. Learn how its square image sensor and 95-degree field of view let you shoot in any orientation without rotating your device, keeping your grip secure and eye contact natural.

    • 2:09 - Center Stage for photos
    • Bring a perfect framing experience to your app. Explore how Auto Zoom and Auto Rotate combine the wide field of view with automatic face and gaze detection to smartly adjust framing as people move in and out of your shots.

    • 3:09 - Capture session setup
    • An overview of the AVCaptureSession setup required to use the Center Stage front camera. Configure an AVCaptureSession with the built-in ultra-wide camera. Add a video preview layer, and receive photos via AVCapturePhotoOutput.

    • 3:56 - Dynamic aspect ratio
    • Discover the dynamic aspect ratio API. Learn how to query supported formats and seamlessly switch aspect ratios without interrupting your camera preview or rebuilding the capture session.

    • 6:47 - Smart framing monitor
    • Automate your framing with AVCaptureSmartFramingMonitor. Learn how to configure the monitor to receive periodic recommendations for aspect ratio and zoom factor based on face and gaze detection, keeping your subjects perfectly framed.

    • 9:24 - Sensor orientation compensation
    • Understand how iOS handles the native portrait orientation of the Center Stage front camera sensor. Learn how AVCapturePhotoOutput automatically applies orientation compensation.

    • 11:53 - Center Stage for video recordings
    • Apply dynamic aspect ratio to video recordings using AVCaptureMovieFileOutput or AVAssetWriter. Learn how to manage recording transitions and take advantage of cinematic stabilization modes for exceptionally smooth footage.

    • 13:16 - Center Stage for video calls
    • Enhance your video conferencing app with Center Stage. Learn how to adopt the API in cooperative or app mode to keep everyone centered, and discover how to enable low-latency stabilization for significantly smoother video calls.

Developer Footer

  • ビデオ
  • WWDC26
  • iOSアプリでのセンターフレームフロントカメラのサポート
  • メニューを開く メニューを閉じる
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    メニューを開く メニューを閉じる
    • アクセシビリティ
    • アクセサリ
    • Apple Intelligence
    • App Extension
    • App Store
    • オーディオとビデオ(英語)
    • 拡張現実
    • デザイン
    • 配信
    • 教育
    • フォント(英語)
    • ゲーム
    • ヘルスケアとフィットネス
    • アプリ内課金
    • ローカリゼーション
    • マップと位置情報
    • 機械学習とAI
    • オープンソース(英語)
    • セキュリティ
    • SafariとWeb(英語)
    メニューを開く メニューを閉じる
    • 英語ドキュメント(完全版)
    • 日本語ドキュメント(一部トピック)
    • チュートリアル
    • ダウンロード
    • フォーラム(英語)
    • ビデオ
    Open Menu Close Menu
    • サポートドキュメント
    • お問い合わせ
    • バグ報告
    • システム状況(英語)
    メニューを開く メニューを閉じる
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles(英語)
    • フィードバックアシスタント
    メニューを開く メニューを閉じる
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program(英語)
    • Mini Apps Partner Program
    • News Partner Program(英語)
    • Video Partner Program(英語)
    • セキュリティ報奨金プログラム(英語)
    • Security Research Device Program(英語)
    Open Menu Close Menu
    • Appleに相談
    • Apple Developer Center
    • App Store Awards(英語)
    • Apple Design Awards
    • Apple Developer Academy(英語)
    • WWDC
    最新ニュースを読む。
    Apple Developerアプリを入手する。
    Copyright © 2026 Apple Inc. All rights reserved.
    利用規約 プライバシーポリシー 契約とガイドライン