---
title: Now Playing
framework: Now Playing
role: collection
role_heading: Framework
platforms: [iOS 27.0+, iPadOS 27.0+, Mac Catalyst 27.0+, macOS 27.0+, tvOS 27.0+, visionOS 27.0+, watchOS 27.0+]
path: nowplaying
---

# Now Playing

Make your app’s media playback controls available on the Lock Screen, Control Center, and connected accessories.

## Overview

Overview The Now Playing framework makes it easy for people to quickly access your app’s media controls across Apple platforms. The Now Playing interface integrates the controls on the Lock Screen, in Control Center, on Apple Watch, and in CarPlay. Use it to publish playback for music, audiobooks, podcasts, movies, TV shows, and other content. You describe your media content and supported commands with an Observable model, and the framework updates the system whenever your model changes.

Now Playing supports two kinds of sessions: Local sessions: Publish playback that happens on the current device. Create a type that conforms to MediaSessionRepresentable and use MediaSession to register it with the system. The framework observes your Observable model and publishes changes to the system as they happen. Remote sessions: Publish playback that happens on external devices, such as speakers, streaming sticks, or smart TVs. Create an app extension that conforms to RemoteMediaSessionExtension and provide sessions conforming to RemoteMediaSessionRepresentable. Start remote sessions from your app using RemoteMediaSession, or from your server using push notifications when your app isn’t running. important: Don’t mix the Now Playing framework with the MPNowPlayingInfoCenter and MPRemoteCommandCenter APIs from the Media Player framework for local playback. Doing so results in undefined behavior.

## Topics

### Local sessions

- [Publishing media sessions](nowplaying/publishing-media-sessions.md)
- [MediaSessionRepresentable](nowplaying/mediasessionrepresentable.md)
- [MediaSession](nowplaying/mediasession.md)
- [MediaSessionError](nowplaying/mediasessionerror.md)

### Remote sessions

- [Publishing remote media sessions](nowplaying/publishing-remote-media-sessions.md)
- [RemoteMediaSessionRepresentable](nowplaying/remotemediasessionrepresentable.md)
- [RemoteMediaSession](nowplaying/remotemediasession.md)
- [RemoteMediaSessionExtension](nowplaying/remotemediasessionextension.md)
- [RemoteMediaSessionExtensionConfiguration](nowplaying/remotemediasessionextensionconfiguration.md)
- [RemoteMediaSessionAttributes](nowplaying/remotemediasessionattributes.md)
- [RemoteMediaSessionError](nowplaying/remotemediasessionerror.md)
- [MediaDevice](nowplaying/mediadevice.md)

### Playback

- [MediaPlaybackSnapshot](nowplaying/mediaplaybacksnapshot.md)
- [Content types and metadata](nowplaying/content-types-and-metadata.md)
- [Playback commands](nowplaying/playback-commands.md)
