{"id":83801,"date":"2026-10-07T16:07:17","date_gmt":"2026-10-07T10:37:17","guid":{"rendered":"https:\/\/tothenewone.online\/blog\/?p=83801"},"modified":"2026-10-27T22:58:43","modified_gmt":"2026-10-27T17:28:43","slug":"every-iphone-duo-state-your-video-player-must-handle","status":"publish","type":"post","link":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/","title":{"rendered":"Every iPhone Duo State Your Video Player Must Handle"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>iPhone Duo is the first iPhone that folds. It has a 5.4-inch outer display, a 7.6-inch inner display, Split View, and a hinge that can stop halfway. For most apps, that means a few layout fixes. For a streaming app, it means the screen can change size, shape and even display while a video is playing.<\/p>\n<p>A user can start a match on the outer display, open the phone mid-stream, prop it half-folded on a table, then drag a chat app beside it. The video must keep playing through all of it. In this blog, I\u2019ll list every state a video player has to handle on iPhone Duo and show how to handle each one in SwiftUI with the iOS 27.1 SDK.<\/p>\n<h2>Prerequisites<\/h2>\n<ul>\n<li>Xcode 27.1 with the iOS 27.1 SDK.<\/li>\n<li>Device Hub in Xcode, which simulates every pose: open, closed, rotated and folded.<\/li>\n<li>A SwiftUI player screen built on <code>AVPlayer<\/code>.<\/li>\n<li>Sample project (optional, to follow along): <a href=\"https:\/\/github.com\/mukulsharma211\/IphoneDuo\" target=\"_blank\" rel=\"noopener\">IphoneDuo on GitHub<\/a>.<\/li>\n<\/ul>\n<h2>The states your player must handle<\/h2>\n<p>StateWhat changesWhat the player should doClosed, portraitOuter display.Closed, landscapeOuter display.Open, flatInner display.Partially foldedThe fold becomes an active region across the inner display.Display switchOpening or closing moves the app to the other display.Split ViewThe app gets one side of the inner display.Two windowsTwo scenes of your app, on the inner display only.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\">\n<tbody>\n<tr>\n<th><\/th>\n<\/tr>\n<tr>\n<th><\/th>\n<\/tr>\n<tr>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Compact width, regular height.<\/td>\n<td>Normal phone layout: video on top, details below.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>Compact width and height.<\/td>\n<td>Full-screen video.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>Regular width and height in both rotations.<\/td>\n<td>Video beside or above a second pane, such as Up Next.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>Video on one half, controls on the other. Nothing across the fold.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>Keep playing. Only the layout changes.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>Safe areas differ on each side.<\/td>\n<td>Fall back to the compact layout.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>One player per window, and one clear owner of audio.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: center;\"><a href=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-states-scaled.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83802\" src=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-states-1024x372.png\" alt=\"Diagram of the video player layout in five iPhone Duo states: closed portrait, closed landscape, open flat, partially folded and Split View\" width=\"625\" height=\"227\" srcset=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-states-1024x372.png 1024w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-states-300x109.png 300w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-states-768x279.png 768w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-states-1536x559.png 1536w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-states-2048x745.png 2048w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-states-624x227.png 624w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><br \/>\n<em>Figure 1: The player layout in each state. Click to enlarge.<\/em><\/p>\n<p>The inner display has one more surprise: it does not honour <code>supportedInterfaceOrientations<\/code>. You can\u2019t lock the player to landscape there, so the layout has to come from size classes.<\/p>\n<h2>Rule 1: Keep the player out of the view<\/h2>\n<p>Every state change above rebuilds views. If a view owns the <code>AVPlayer<\/code>, a fold restarts the stream. So the player lives in an object that layout never touches:<\/p>\n<pre>@MainActor @Observable\r\nfinal class PlaybackController {\r\n    let player = AVPlayer()\r\n\r\n    func load(_ url: URL) {\r\n        player.replaceCurrentItem(with: AVPlayerItem(url: url))\r\n        player.play()\r\n    }\r\n}\r\n\r\nstruct PlayerRoot: View {\r\n    @State private var playback = PlaybackController()   \/\/ one per window\r\n\r\n    var body: some View {\r\n        PlayerScreen()\r\n            .environment(playback)\r\n    }\r\n}<\/pre>\n<p>Because <code>PlayerRoot<\/code> sits at the top of the scene, each window gets its own controller. That also covers the two-window state.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-state-flow-scaled.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83803\" src=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-state-flow-1024x473.png\" alt=\"Flow diagram showing that fold, rotate and Split View changes rebuild the layout while the PlaybackController and its AVPlayer stay untouched\" width=\"625\" height=\"289\" srcset=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-state-flow-1024x473.png 1024w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-state-flow-300x138.png 300w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-state-flow-768x354.png 768w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-state-flow-1536x709.png 1536w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-state-flow-2048x945.png 2048w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-state-flow-624x288.png 624w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><br \/>\n<em>Figure 2: State changes rebuild the layout. The player sits outside and keeps playing.<\/em><\/p>\n<h2>Rule 2: Lay out from size classes, not from the device<\/h2>\n<p>Don\u2019t check for \u201cis this a Duo\u201d or read the orientation. Size classes already describe every state in the table:<\/p>\n<pre>struct PlayerScreen: View {\r\n    @Environment(.horizontalSizeClass) private var hSize\r\n    @Environment(.verticalSizeClass) private var vSize\r\n    @Environment(PlaybackController.self) private var playback\r\n\r\n    var body: some View {\r\n        if hSize == .regular &amp;&amp; vSize == .regular {\r\n            \/\/ Open, flat or folded\r\n            ArrangementView {\r\n                VideoSurface(player: playback.player)\r\n            } secondary: {\r\n                UpNextView()\r\n            }\r\n            .arrangementViewStyle(.split)\r\n        } else if vSize == .compact {\r\n            \/\/ Closed, landscape\r\n            VideoSurface(player: playback.player)\r\n                .ignoresSafeArea()\r\n        } else {\r\n            \/\/ Closed portrait, or a narrow Split View\r\n            CompactPlayerLayout(player: playback.player)\r\n        }\r\n    }\r\n}<\/pre>\n<p><code>ArrangementView<\/code> is new in iOS 27.1. With the <code>.split<\/code> style, it places the two views side by side when the space is wider than tall and stacks them when it is taller than wide. If there isn\u2019t room for both, it shows only the primary view, so the video always wins. Two limits to remember: don\u2019t put it inside a <code>ScrollView<\/code> or <code>List<\/code>, and don\u2019t put a <code>NavigationSplitView<\/code> inside it.<\/p>\n<h2>Rule 3: Respect the fold<\/h2>\n<p>When the phone is partially folded, the hinge line cuts through the inner display. A video frame or a seek bar that crosses it is hard to see. The system reports the fold as a reserved region, and it is active only while the device is folded:<\/p>\n<pre>GeometryReader { proxy in\r\n    let fold = proxy.reservedRegions(kind: .division).first?.frame\r\n\r\n    if let fold {\r\n        \/\/ Propped on a table: video above the fold, controls below\r\n        VStack(spacing: 0) {\r\n            VideoSurface(player: playback.player)\r\n                .frame(height: fold.minY)\r\n            Color.clear.frame(height: fold.height)\r\n            PlayerControls()\r\n        }\r\n    } else {\r\n        FlatPlayerLayout()\r\n    }\r\n}<\/pre>\n<p>This gives the \u201ctabletop\u201d layout: the top half is for watching from a distance and the bottom half is for touch controls.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-tabletop-layout.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-83804\" src=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-tabletop-layout-1024x577.png\" alt=\"Diagram of a partially folded iPhone Duo with the video above the fold, the fold region left empty, and the controls below\" width=\"625\" height=\"352\" srcset=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-tabletop-layout-1024x577.png 1024w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-tabletop-layout-300x169.png 300w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-tabletop-layout-768x433.png 768w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-tabletop-layout-1536x866.png 1536w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-tabletop-layout-2048x1154.png 2048w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-tabletop-layout-624x352.png 624w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><br \/>\n<em>Figure 3: The tabletop layout. Nothing crosses the fold.<\/em><\/p>\n<h2>Rule 4: Use the hinge for behaviour, not layout<\/h2>\n<p>The hinge has its own API, with a status of <code>closed<\/code>, <code>partiallyOpen<\/code> or <code>fullyOpen<\/code>, and a continuous angle. Use reserved regions for layout, and keep the hinge for behaviour. For example, when the phone is propped up, nobody is holding it, so controls should not auto-hide:<\/p>\n<pre>.onHingeChange { _, context in\r\n    guard let hinge = context.hinge else { return }   \/\/ nil on iPhones without a hinge\r\n    controls.autoHide = hinge.status != .partiallyOpen\r\n}<\/pre>\n<p>In UIKit, the same data comes from <code>UIHingeInteraction<\/code>.<\/p>\n<h2>Split View and two windows<\/h2>\n<p>Split View is the first time two apps sit side by side on an iPhone. Every app takes part automatically, so your player will be resized whether you planned for it or not. Two things matter:<\/p>\n<ul>\n<li><strong>Safe areas are not symmetric.<\/strong> The system bar can sit on the left or the right of your app. Inset each side by its own safe area, and test by dragging the app to both sides.<\/li>\n<li><strong>New windows exist only on the inner display.<\/strong> If you offer \u201copen in new window\u201d, use <code>UIWindowSceneActivationAction<\/code>, which hides itself when a new window isn\u2019t possible, and handle the error when a scene request fails.<\/li>\n<\/ul>\n<p>With two windows, two players can run at once. Decide which window owns the audio, and mute or pause the other.<\/p>\n<h2>Mistakes to avoid<\/h2>\n<ul>\n<li><strong><code>UIScreen.main<\/code>.<\/strong> It is ambiguous on a phone with two displays. Use <code>window?.windowScene?.screen<\/code>, and <code>traitCollection.displayScale<\/code> for scale.<\/li>\n<li><strong><code>UIDevice.orientation<\/code> and orientation locks.<\/strong> They don\u2019t describe the inner display.<\/li>\n<li><strong>Hinge angle for layout.<\/strong> Reserved regions tell you where the fold is. The angle doesn\u2019t.<\/li>\n<li><strong>Hard-coded video sizes.<\/strong> The inner display is close to square, so a 16:9 video leaves real space. Fill it with something useful.<\/li>\n<\/ul>\n<h2>Testing checklist<\/h2>\n<ol>\n<li>Start playback closed, then open the device. The stream must not restart.<\/li>\n<li>Fold halfway in both rotations. Nothing should cross the fold.<\/li>\n<li>Drag the app to the left and the right side of Split View.<\/li>\n<li>Open a second window and check which one plays audio.<\/li>\n<li>Repeat with Picture in Picture and background audio.<\/li>\n<\/ol>\n<h2>Sample project<\/h2>\n<p>A working sample of everything above is on GitHub: <a href=\"https:\/\/github.com\/mukulsharma211\/IphoneDuo\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/mukulsharma211\/IphoneDuo<\/a>. It is a small SwiftUI app with one player screen and a list of HLS, fMP4 and live streams. A single <code>PlaybackController<\/code> owns the <code>AVPlayer<\/code>, and the layout comes only from size classes and the fold region.<\/p>\n<p>To try it, open the project in Xcode 27.1, run it on the iPhone Duo simulator, then use <strong>Window &gt; Device Hub<\/strong> to close, open, rotate and fold the device while a video plays. The README lists the expected layout for each state.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-closed-portrait.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-83935\" src=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-closed-portrait-224x300.png\" alt=\"Sample app on iPhone Duo closed in portrait: player on top, stream list below\" width=\"224\" height=\"300\" srcset=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-closed-portrait-224x300.png 224w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-closed-portrait-624x836.png 624w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-closed-portrait.png 748w\" sizes=\"auto, (max-width: 224px) 100vw, 224px\" \/><\/a>\u00a0\u00a0<a href=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-stacked.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-83937\" src=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-stacked-206x300.png\" alt=\"Sample app on the open inner display: player stacked above the list while playback continues\" width=\"206\" height=\"300\" srcset=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-stacked-206x300.png 206w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-stacked-704x1024.png 704w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-stacked-768x1117.png 768w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-stacked-1056x1536.png 1056w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-stacked-624x908.png 624w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-stacked.png 1398w\" sizes=\"auto, (max-width: 206px) 100vw, 206px\" \/><\/a><br \/>\n<em>Figure 4: Closed, portrait (left) and open with the player stacked above the list (right).<\/em><\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-side-by-side.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-83936\" src=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-side-by-side-1024x721.png\" alt=\"Sample app on the open inner display in landscape: player and stream list side by side\" width=\"625\" height=\"440\" srcset=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-side-by-side-1024x721.png 1024w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-side-by-side-300x211.png 300w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-side-by-side-768x541.png 768w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-side-by-side-624x439.png 624w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-open-side-by-side.png 1040w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><br \/>\n<em>Figure 5: Open, flat: player and Up Next list side by side.<\/em><\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-83938\" src=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-300x211.png\" alt=\"Sample app in full-screen playback with controls hidden\" width=\"300\" height=\"211\" srcset=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-300x211.png 300w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-1024x721.png 1024w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-768x541.png 768w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-624x439.png 624w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen.png 1040w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\u00a0\u00a0<a href=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-controls.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-83939\" src=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-controls-300x206.png\" alt=\"Sample app in full-screen playback with controls visible\" width=\"300\" height=\"206\" srcset=\"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-controls-300x206.png 300w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-controls-1024x704.png 1024w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-controls-768x528.png 768w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-controls-1536x1056.png 1536w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-controls-624x429.png 624w, https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-sample-fullscreen-controls.png 2034w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<em>Figure 6: Full-screen playback, with controls hidden and shown. Playback keeps its position across every switch.<\/em><\/p>\n<h2>Conclusion<\/h2>\n<p>iPhone Duo adds many states, but they reduce to four rules: keep the player outside the view, lay out from size classes, keep content off the fold, and use the hinge only for behaviour. A player built this way doesn\u2019t need to know it is running on a Duo. It also behaves better on iPad and in every resizable window, which is where Apple\u2019s platforms are heading. For more detail, watch Apple\u2019s tech talks: <a href=\"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111461\/\" target=\"_blank\" rel=\"noopener\">Prepare your app for iPhone Duo<\/a>, <a href=\"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111463\/\" target=\"_blank\" rel=\"noopener\">Strike a pose with adaptive layouts<\/a> and <a href=\"https:\/\/developer.apple.com\/videos\/play\/tech-talks\/111464\/\" target=\"_blank\" rel=\"noopener\">Leverage multiple displays and scenes<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction iPhone Duo is the first iPhone that folds. It has a 5.4-inch outer display, a 7.6-inch inner display, Split View, and a hinge that can stop halfway. For most apps, that means a few layout fixes. For a streaming app, it means the screen can change size, shape and even display while a video [&hellip;]<\/p>\n","protected":false},"author":2138,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":1,"footnotes":""},"categories":[1400],"tags":[9088,7521,9086,9085,9084,3116,9087,2715,5460,5589],"class_list":["post-83801","post","type-post","status-publish","format-standard","hentry","category-ios","tag-adaptivelayout","tag-avplayer","tag-foldableiphone","tag-ios27","tag-iphoneduo","tag-ott","tag-splitview","tag-swift","tag-swiftui","tag-videoplayer"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Introduction iPhone Duo is the first iPhone that folds. It has a 5.4-inch outer display, a 7.6-inch inner display, Split View, and a hinge that can stop halfway. For most apps, that means a few layout fixes. For a streaming app, it means the screen can change size, shape and even display while a video\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Mukul Sharma\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Every iPhone Duo State Your Video Player Must Handle | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Introduction iPhone Duo is the first iPhone that folds. It has a 5.4-inch outer display, a 7.6-inch inner display, Split View, and a hinge that can stop halfway. For most apps, that means a few layout fixes. For a streaming app, it means the screen can change size, shape and even display while a video\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/tothenewone.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/tothenewone.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Every iPhone Duo State Your Video Player Must Handle | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Introduction iPhone Duo is the first iPhone that folds. It has a 5.4-inch outer display, a 7.6-inch inner display, Split View, and a hinge that can stop halfway. For most apps, that means a few layout fixes. For a streaming app, it means the screen can change size, shape and even display while a video\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/tothenewone.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/every-iphone-duo-state-your-video-player-must-handle\\\/#article\",\"name\":\"Every iPhone Duo State Your Video Player Must Handle | TO THE NEW Blog\",\"headline\":\"Every iPhone Duo State Your Video Player Must Handle\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mukul-sharma1\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/wp-ttn-blog\\\/uploads\\\/2026\\\/10\\\/duo-player-states-1024x372.png\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/every-iphone-duo-state-your-video-player-must-handle\\\/#articleImage\"},\"datePublished\":\"2026-10-07T16:07:17+05:30\",\"dateModified\":\"2026-10-27T22:58:43+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/every-iphone-duo-state-your-video-player-must-handle\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/every-iphone-duo-state-your-video-player-must-handle\\\/#webpage\"},\"articleSection\":\"iOS, AdaptiveLayout, AVPlayer, FoldableiPhone, iOS27, iPhoneDuo, ott, SplitView, swift, SwiftUI, VideoPlayer\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/every-iphone-duo-state-your-video-player-must-handle\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/ios\\\/#listItem\",\"name\":\"iOS\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/ios\\\/#listItem\",\"position\":2,\"name\":\"iOS\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/ios\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/every-iphone-duo-state-your-video-player-must-handle\\\/#listItem\",\"name\":\"Every iPhone Duo State Your Video Player Must Handle\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/every-iphone-duo-state-your-video-player-must-handle\\\/#listItem\",\"position\":3,\"name\":\"Every iPhone Duo State Your Video Player Must Handle\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/ios\\\/#listItem\",\"name\":\"iOS\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mukul-sharma1\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mukul-sharma1\\\/\",\"name\":\"Mukul Sharma\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/every-iphone-duo-state-your-video-player-must-handle\\\/#authorImage\",\"url\":\"https:\\\/\\\/newersworld-sf-static.tothenew.net\\\/prod\\\/profilePicFolder\\\/f000d40e-a20f-4c13-9993-e1e81cb48167_Mukul-Sharma-Profile-Pitcure.jpeg\",\"width\":96,\"height\":96,\"caption\":\"Mukul Sharma\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/every-iphone-duo-state-your-video-player-must-handle\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/every-iphone-duo-state-your-video-player-must-handle\\\/\",\"name\":\"Every iPhone Duo State Your Video Player Must Handle | TO THE NEW Blog\",\"description\":\"Introduction iPhone Duo is the first iPhone that folds. It has a 5.4-inch outer display, a 7.6-inch inner display, Split View, and a hinge that can stop halfway. For most apps, that means a few layout fixes. For a streaming app, it means the screen can change size, shape and even display while a video\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/every-iphone-duo-state-your-video-player-must-handle\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mukul-sharma1\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mukul-sharma1\\\/#author\"},\"datePublished\":\"2026-10-07T16:07:17+05:30\",\"dateModified\":\"2026-10-27T22:58:43+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Every iPhone Duo State Your Video Player Must Handle | TO THE NEW Blog","description":"Introduction iPhone Duo is the first iPhone that folds. It has a 5.4-inch outer display, a 7.6-inch inner display, Split View, and a hinge that can stop halfway. For most apps, that means a few layout fixes. For a streaming app, it means the screen can change size, shape and even display while a video","canonical_url":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/#article","name":"Every iPhone Duo State Your Video Player Must Handle | TO THE NEW Blog","headline":"Every iPhone Duo State Your Video Player Must Handle","author":{"@id":"https:\/\/tothenewone.online\/blog\/author\/mukul-sharma1\/#author"},"publisher":{"@id":"https:\/\/tothenewone.online\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/tothenewone.online\/blog\/wp-ttn-blog\/uploads\/2026\/10\/duo-player-states-1024x372.png","@id":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/#articleImage"},"datePublished":"2026-10-07T16:07:17+05:30","dateModified":"2026-10-27T22:58:43+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/#webpage"},"isPartOf":{"@id":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/#webpage"},"articleSection":"iOS, AdaptiveLayout, AVPlayer, FoldableiPhone, iOS27, iPhoneDuo, ott, SplitView, swift, SwiftUI, VideoPlayer"},{"@type":"BreadcrumbList","@id":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog#listItem","position":1,"name":"Home","item":"https:\/\/tothenewone.online\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog\/category\/ios\/#listItem","name":"iOS"}},{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog\/category\/ios\/#listItem","position":2,"name":"iOS","item":"https:\/\/tothenewone.online\/blog\/category\/ios\/","nextItem":{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/#listItem","name":"Every iPhone Duo State Your Video Player Must Handle"},"previousItem":{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/#listItem","position":3,"name":"Every iPhone Duo State Your Video Player Must Handle","previousItem":{"@type":"ListItem","@id":"https:\/\/tothenewone.online\/blog\/category\/ios\/#listItem","name":"iOS"}}]},{"@type":"Organization","@id":"https:\/\/tothenewone.online\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/tothenewone.online\/blog\/"},{"@type":"Person","@id":"https:\/\/tothenewone.online\/blog\/author\/mukul-sharma1\/#author","url":"https:\/\/tothenewone.online\/blog\/author\/mukul-sharma1\/","name":"Mukul Sharma","image":{"@type":"ImageObject","@id":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/#authorImage","url":"https:\/\/newersworld-sf-static.tothenew.net\/prod\/profilePicFolder\/f000d40e-a20f-4c13-9993-e1e81cb48167_Mukul-Sharma-Profile-Pitcure.jpeg","width":96,"height":96,"caption":"Mukul Sharma"}},{"@type":"WebPage","@id":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/#webpage","url":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/","name":"Every iPhone Duo State Your Video Player Must Handle | TO THE NEW Blog","description":"Introduction iPhone Duo is the first iPhone that folds. It has a 5.4-inch outer display, a 7.6-inch inner display, Split View, and a hinge that can stop halfway. For most apps, that means a few layout fixes. For a streaming app, it means the screen can change size, shape and even display while a video","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/tothenewone.online\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/#breadcrumblist"},"author":{"@id":"https:\/\/tothenewone.online\/blog\/author\/mukul-sharma1\/#author"},"creator":{"@id":"https:\/\/tothenewone.online\/blog\/author\/mukul-sharma1\/#author"},"datePublished":"2026-10-07T16:07:17+05:30","dateModified":"2026-10-27T22:58:43+05:30"},{"@type":"WebSite","@id":"https:\/\/tothenewone.online\/blog\/#website","url":"https:\/\/tothenewone.online\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/tothenewone.online\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Every iPhone Duo State Your Video Player Must Handle | TO THE NEW Blog","og:description":"Introduction iPhone Duo is the first iPhone that folds. It has a 5.4-inch outer display, a 7.6-inch inner display, Split View, and a hinge that can stop halfway. For most apps, that means a few layout fixes. For a streaming app, it means the screen can change size, shape and even display while a video","og:url":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/","og:image":"https:\/\/tothenewone.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/tothenewone.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Every iPhone Duo State Your Video Player Must Handle | TO THE NEW Blog","twitter:description":"Introduction iPhone Duo is the first iPhone that folds. It has a 5.4-inch outer display, a 7.6-inch inner display, Split View, and a hinge that can stop halfway. For most apps, that means a few layout fixes. For a streaming app, it means the screen can change size, shape and even display while a video","twitter:image":"https:\/\/tothenewone.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"83801","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"limit_modified_date":false,"created":"2026-10-05 08:46:00","updated":"2026-10-27 17:28:45","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/tothenewone.online\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/tothenewone.online\/blog\/category\/ios\/\" title=\"iOS\">iOS<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tEvery iPhone Duo State Your Video Player Must Handle\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/tothenewone.online\/blog"},{"label":"iOS","link":"https:\/\/tothenewone.online\/blog\/category\/ios\/"},{"label":"Every iPhone Duo State Your Video Player Must Handle","link":"https:\/\/tothenewone.online\/blog\/every-iphone-duo-state-your-video-player-must-handle\/"}],"_links":{"self":[{"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/posts\/83801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/users\/2138"}],"replies":[{"embeddable":true,"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/comments?post=83801"}],"version-history":[{"count":4,"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/posts\/83801\/revisions"}],"predecessor-version":[{"id":84081,"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/posts\/83801\/revisions\/84081"}],"wp:attachment":[{"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/media?parent=83801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/categories?post=83801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tothenewone.online\/blog\/wp-json\/wp\/v2\/tags?post=83801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}