---
title: MPPlayableContentDelegate
framework: mediaplayer
role: symbol
role_heading: Protocol
path: mediaplayer/mpplayablecontentdelegate
---

# MPPlayableContentDelegate

The protocol used to let external media players send playback commands to an app.

## Declaration

```swift
protocol MPPlayableContentDelegate : NSObjectProtocol
```

## Overview

Overview After the media player determines that a media item should play, the app’s content delegate requests to initiate playback. important: Some features of this protocol are specific to CarPlay, which requires a special entitlement issued by Apple. Apps without the correct entitlement won’t appear on the CarPlay home screen. See http://www.apple.com/ios/carplay/ for more information. When creating your CarPlay app, keep the following in mind: Transition to the Now Playing screen only when content is ready to play. Due to buffering and network conditions, it may take several seconds for audio to begin playing after a user selects it. The user’s selection remains highlighted, and the system displays a spinning activity indicator until your app informs the system that the audio is ready to play. Start playback as soon as possible. Playback should begin as soon as audio has sufficiently loaded, even if descriptive information is still loading. Continue loading descriptive information in the background and show it once available. Avoid beginning playback automatically. Unless your app’s purpose is to play a single source of audio, it shouldn’t begin playback until the user initiates it.

## Topics

### Playing a specific media item

- [playableContentManager(_:initiatePlaybackOfContentItemAt:completionHandler:)](mediaplayer/mpplayablecontentdelegate/playablecontentmanager(_:initiateplaybackofcontentitemat:completionhandler:).md)

### Suggesting content for playback

- [playableContentManager(_:initializePlaybackQueueWithContentItems:completionHandler:)](mediaplayer/mpplayablecontentdelegate/playablecontentmanager(_:initializeplaybackqueuewithcontentitems:completionhandler:).md)
- [playableContentManager(_:initializePlaybackQueueWithCompletionHandler:)](mediaplayer/mpplayablecontentdelegate/playablecontentmanager(_:initializeplaybackqueuewithcompletionhandler:).md)

### Responding to context changes

- [playableContentManager(_:didUpdate:)](mediaplayer/mpplayablecontentdelegate/playablecontentmanager(_:didupdate:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Responding to playback events

- [delegate](mediaplayer/mpplayablecontentmanager/delegate.md)
