Apple Developer onepage/WWDC26
#WWDC26#AVFoundation#Camera#CenterStage2026-06-08 · 17:44

Center Stage 前鏡頭:把 取景決策 從 UI 手勢搬進 capture pipeline

這場 session 說明 iPhone 17、iPhone 17 Pro 與 iPhone Air 的 Center Stage 前鏡頭如何透過方形感光元件、95 度視角、動態長寬比與 smart framing monitor,讓相機 app、錄影與視訊通話得到更彈性的自拍取景。

// 一句話結論

導入 Center Stage 不是只加一個相機開關,而是要重新整理前鏡頭的 format 選擇、長寬比切換、face-aware framing、方向補償與錄影斷點。

Apple Developer · WWDC26 · Video ID: zRdN66ieSucApple Developer 官方頁
Content map

這支影片在拆四個相機 app 的導入問題

硬體假設

前鏡頭不再只是 4:3 感光元件

Center Stage 前鏡頭使用方形 sensor 與 95 度視角。舊 app 若把裝置方向、輸出長寬比與感光元件方向綁死,會錯過不用旋轉手機也能拍橫向自拍的能力。

取景控制

dynamicAspectRatio 是 manual 與 auto framing 的基礎

iOS 26 起,AVCaptureDevice 可在不中斷 preview、不重建 session 的情況下切換 3:4、4:3、9:16、16:9、1:1 等長寬比,但必須先選到支援格式。

自動化

Smart framing monitor 給建議,不替你決定 UX

monitor 會基於臉部與視線偵測回傳 aspect ratio 與 zoom factor。app 仍要決定何時啟用、支援哪些 framing、如何讓使用者關閉自動取景。

相容性

照片、錄影、視訊通話的代價不同

照片要處理 sensor orientation compensation;錄影在長寬比變更時可能要停止或切段;視訊通話則要處理 Center Stage per-process effect 與低延遲防手震。

Chapters
0:00Introduction:Center Stage 前鏡頭的使用情境
1:07Center Stage front camera:方形 sensor、95 度視角與自然眼神接觸
2:09Center Stage for photos:Auto Zoom、Auto Rotate 與 group selfie
3:09Capture session setup:AVCaptureSession、front ultra-wide camera、photo output
3:56Dynamic aspect ratio:不中斷 preview 的長寬比切換
6:47Smart framing monitor:定期回傳 framing recommendation
9:24Sensor orientation compensation:照片方向與 RAW 限制
11:53Video recordings:長寬比變更與 QuickTime track 尺寸限制
13:16Video calls:Center Stage API 與 low-latency stabilization
Implementation flow

導入時應該先整理 capture 流程,而不是先改 UI

1

以 front .builtInUltraWideCamera 建立 session

先用 AVCaptureDevice.DiscoverySession 找到 Center Stage 前鏡頭,再建立 AVCaptureDeviceInput、AVCaptureVideoPreviewLayer 與 photo 或 video output。

2

根據功能選 active format

Tap to Rotate 需要檢查 supportedDynamicAspectRatios;smart framing 只在 4032 photo format 提供 recommendation。格式選錯,API 不是表現不好,而是根本沒有完整能力。

3

先套 aspect ratio,再套 zoom factor

smart framing recommendation 同時包含長寬比與 zoom。影片特別提醒為了讓 preview transition 順,應先設定 aspect ratio,再設定 video zoom factor。

4

把方向補償與 RAW path 放進測試矩陣

AVCapturePhotoOutput 預設會對 HEIC、JPEG、uncompressed processed photos 做 sensor orientation compensation,但 Bayer RAW 與 Apple ProRAW 不會套用。

5

錄影與通話分開設計狀態機

錄影改長寬比可能要停止或切新 segment;視訊通話則要決定 Control Center、cooperative mode、app mode 與低延遲 stabilization 的責任邊界。

重點 1:方形 sensor 讓「旋轉手機」不再是唯一 UX

傳統前鏡頭多以 4:3 感光元件為基礎,app 常把裝置方向、preview 與輸出格式視為同一件事。Center Stage 前鏡頭改成方形 sensor,搭配 95 度視角,讓使用者可以用單手直拿手機,仍拍出橫向或寬視角自拍。

這裡的產品價值不是單純多一個鏡頭型號,而是讓 app 可以把「我要拍直的或橫的」做成取景控制,而不是要求使用者換手勢或轉手機。

適用裝置要明確偵測影片提到 iPhone 17、iPhone 17 Pro 與 iPhone Air。實作上應以 AVCaptureDevice 與 format capability 為準,而不是只用 device model 判斷。
支援長寬比不是全部格式都有dynamic aspect ratio 支援 1280 到 4032 的 square formats;4032 photo format 只支援 3:4 與 4:3,因為它們保留最高照片解析度。
Tap to Rotate 是最小可用導入先做手動 orientation switching,確認 preview、capture output 與 UI state 都正確,再加入 automatic framing。
Auto Zoom / Auto Rotate 需要使用者控制smart framing 可以自動推薦,但 app 應提供開關,並在關閉時 unregister KVO 與 stopMonitoring。

重點 2:Smart framing monitor 是 recommendation pipeline

AVCaptureSmartFramingMonitor 會定期根據 face detection 與 gaze detection 給 framing recommendation。每個 recommendation 包含 aspect ratio 與 zoom factor;app 可以套用,也可以忽略。這讓自動取景變成 app 可控的 pipeline,而不是黑盒效果。

01
先限制 enabled framings
不要一開始就開所有 supported framings。產品可以先支援 4:3 的 narrow / wide,再逐步開 9:16 或 16:9。
02
用 KVO 接 recommendation
監聽 recommendedFraming,收到新建議後先套 aspect ratio,再套 zoom factor,減少 preview 轉場突兀感。
03
讓 UI 表達自動取景正在接管
如果畫面會因朋友入鏡而 zoom out 或 rotate,使用者需要知道是系統建議造成的,不是 app lag 或鏡頭跳動。

重點 3:方向補償是最容易被舊程式碼踩到的地方

舊 iPhone 前鏡頭 sensor 以 Landscape Left 安裝,照片 buffer 會帶 EXIF orientation。iPhone 17、iPhone Air 與 iPhone 17 Pro 的 Center Stage 前鏡頭是 Portrait orientation。若 app 依賴舊 rotation value,照片可能側倒或顛倒。

AVCapturePhotoOutput 預設會做 sensor orientation compensation,把照片實際旋轉並更新 metadata,讓結果維持與過去前鏡頭相容。但它只套用到 HEIC、JPEG 與 uncompressed processed photos,不套用 Bayer RAW 或 Apple ProRAW。

風險與遷移注意事項

不要在錄影中直接切長寬比QuickTime movie track 要求所有 sample 尺寸一致;使用 AVCaptureMovieFileOutput 時,長寬比變更會讓錄影自動停止。
AVAssetWriter 也要切段若用 AVCaptureVideoDataOutput + AVAssetWriter,可用 setDynamicAspectRatio 回傳的 completion timestamp 結束舊 recording 並啟動新 recording。
VoIP app 與一般 app 路徑不同有 Voice over IP background mode 的視訊 app 可讓使用者從 Control Center 開 Center Stage;沒有 VoIP mode 也能採用 API,但要自己處理啟用流程。
低延遲 stabilization 預設關閉視訊通話若要即時防手震,需要在 AVCaptureConnection 設 preferredVideoStabilizationMode 為 lowLatency。

對相機 app 團隊的實作啟發

01
把 format capability 檢查做成一等公民
UI 不應先假設功能存在。先查支援的 format、aspect ratios、smart framing availability,再決定顯示哪些控制。
02
把照片、錄影、視訊通話拆成不同 acceptance tests
同一個 Center Stage 前鏡頭,在 photo output、movie file output、video data output 的狀態轉移和限制不同。
03
用使用者看得懂的語言呈現自動取景
Auto Zoom、Auto Rotate、Center Stage activation 需要明確控制,不應只藏在 capture pipeline 裡。

來源

主要來源為 Apple Developer 官方影片頁、官方 transcript、章節與 resources;YouTube 影片頁用於 iframe 與發布 metadata。官方頁:Support the Center Stage front camera in your iOS app - WWDC26。YouTube:WWDC26: Support the Center Stage front camera in your iOS app | Apple。

// TL;DR