<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "NowPlaying",
  "identifier" : "/documentation/NowPlaying/MediaPlaybackSnapshot",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Now Playing"
    ],
    "preciseIdentifier" : "s:10NowPlaying21MediaPlaybackSnapshotV"
  },
  "title" : "MediaPlaybackSnapshot"
}
-->

# MediaPlaybackSnapshot

A snapshot of playback state and timing for a Now Playing session.

```
struct MediaPlaybackSnapshot
```

## Overview

Use a snapshot to describe whether the session is playing, paused, or buffering,
along with the current elapsed time and the timestamp at which that elapsed time
was captured. The system uses the snapshot to extrapolate elapsed time between updates.

## Topics

### Initializers

[`init(state: MediaPlaybackSnapshot.PlaybackState, defaultPlaybackRate: Float, elapsedTime: TimeInterval?, timestamp: Date?)`](/documentation/NowPlaying/MediaPlaybackSnapshot/init(state:defaultPlaybackRate:elapsedTime:timestamp:))

Creates a playback snapshot with the specified state and timing.

### Enumerations

[`enum PlaybackState`](/documentation/NowPlaying/MediaPlaybackSnapshot/PlaybackState)

The current playback state of a Now Playing session.

## Relationships

### Conforms To

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Equatable`](/documentation/Swift/Equatable)

[`Sendable`](/documentation/Swift/Sendable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)