<!--
{
  "availability" : [
    "iOS: 12.0.0 -",
    "iPadOS: 12.0.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: 14.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 5.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SiriKit",
  "identifier" : "/documentation/Intents/INPlayMediaIntent",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Intents"
    ],
    "preciseIdentifier" : "c:objc(cs)INPlayMediaIntent"
  },
  "title" : "INPlayMediaIntent"
}
-->

# INPlayMediaIntent

An intent that contains information about media playable from your app.

```
class INPlayMediaIntent
```

## Overview

Use [`INPlayMediaIntent`](/documentation/Intents/INPlayMediaIntent) to donate songs, movies, and other media the user plays in your app, or to recommend upcoming media, such as new TV shows or podcast episodes. The system uses these donations to offer the user relevant search results and suggestions.

[`INPlayMediaIntent`](/documentation/Intents/INPlayMediaIntent) supports playing audio in the background. See `Enabling Background Audio` for more information about supporting background audio in your app.

### Additional Intent Attributes

The following table lists additional attributes of this intent object:

|Attribute                      |Description              |
|-------------------------------|-------------------------|
|Supported by                   |Siri Intents (audio only)|
|Always requires unlocked device|No                       |

## Topics

### Creating a Play Media Intent

[`init(mediaItems:mediaContainer:playShuffled:playbackRepeatMode:resumePlayback:playbackQueueLocation:playbackSpeed:mediaSearch:)`](/documentation/Intents/INPlayMediaIntent/init(mediaItems:mediaContainer:playShuffled:playbackRepeatMode:resumePlayback:playbackQueueLocation:playbackSpeed:mediaSearch:))

Creates an intent that describes media content such as a song, podcast episode, or movie.

[`-  initWithMediaItems:mediaContainer:playShuffled:playbackRepeatMode:resumePlayback:playbackQueueLocation:playbackSpeed:mediaSearch:`](/documentation/Intents/INPlayMediaIntent/initWithMediaItems:mediaContainer:playShuffled:playbackRepeatMode:resumePlayback:playbackQueueLocation:playbackSpeed:mediaSearch:)

Initialize an intent that describes media content such as a song, podcast episode, or movie.

[`-  initWithMediaItems:mediaContainer:playShuffled:playbackRepeatMode:resumePlayback:`](/documentation/Intents/INPlayMediaIntent/initWithMediaItems:mediaContainer:playShuffled:playbackRepeatMode:resumePlayback:)

Initializes an intent that describes media content such as a song, podcast episode, or movie.

### Accessing Media Items

[`mediaContainer`](/documentation/Intents/INPlayMediaIntent/mediaContainer)

The media item container.

[`mediaItems`](/documentation/Intents/INPlayMediaIntent/mediaItems)

The media content.

### Accessing Playback Settings

[`playShuffled`](/documentation/Intents/INPlayMediaIntent/playShuffled-2btex)

A Boolean value that indicates whether the media plays in a shuffled order.

[`resumePlayback`](/documentation/Intents/INPlayMediaIntent/resumePlayback-1xw6r)

The resume playback setting at the time the user plays the media item.

[`playShuffled`](/documentation/Intents/INPlayMediaIntent/playShuffled-93hn1)

A Boolean value that indicates whether the media plays in a shuffled order.

[`resumePlayback`](/documentation/Intents/INPlayMediaIntent/resumePlayback-9zfyp)

The resume playback setting at the time the user plays the media item.

[`playbackRepeatMode`](/documentation/Intents/INPlayMediaIntent/playbackRepeatMode)

The repeat mode setting at the time the user plays the media item.

[`INPlaybackRepeatMode`](/documentation/Intents/INPlaybackRepeatMode)

The possible repeat modes at the time the user plays the media item.

[`playbackSpeed`](/documentation/Intents/INPlayMediaIntent/playbackSpeed-17r2t)

The playback speed for a media item.

[`playbackSpeed`](/documentation/Intents/INPlayMediaIntent/playbackSpeed-6ngbq)

The playback speed for a media item.

[`playbackQueueLocation`](/documentation/Intents/INPlayMediaIntent/playbackQueueLocation)

The queue location for a media item during playback.

[`INPlaybackQueueLocation`](/documentation/Intents/INPlaybackQueueLocation)

Constants that describe the playback queue location for a media item.

[`mediaSearch`](/documentation/Intents/INPlayMediaIntent/mediaSearch)

An object that contains the search parameters.

## Relationships

### Conforms To

[`INIntentSetImageKeyPath`](/documentation/Intents/INIntentSetImageKeyPath)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

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

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

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

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`NSCopying`](/documentation/Foundation/NSCopying)

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

[`NSCoding`](/documentation/Foundation/NSCoding)

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

### Inherits From

[`INIntent`](/documentation/Intents/INIntent)

---

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)