<!--
{
  "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/MusicContent",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Now Playing"
    ],
    "preciseIdentifier" : "s:10NowPlaying12MusicContentV"
  },
  "title" : "MusicContent"
}
-->

# MusicContent

Content representing a music track or song.

```
struct MusicContent
```

## Overview

Use this type for music playback, including songs, albums, and playlists.

The following example shows how to create music content with additional metadata:

```swift
var content: some MediaContentRepresentable {
    var content = MusicContent(
        id: track.id,
        songTitle: track.title,
        artistName: track.artist,
        albumName: track.album,
        type: .audio,
        duration: .finite(track.duration),
        artwork: Artwork(id: track.artworkID) { size in
            let data = await loadArtworkData(size: size)
            return try ArtworkRepresentation(data: data)
        }
    )
    content.composer = track.composer
    content.genre = track.genre
    content.isExplicit = track.isExplicit
    return content
}
```

## Topics

### Initializers

[`init(id: String, songTitle: String, artistName: String, albumName: String, type: MediaType, duration: MediaDuration?, artwork: Artwork?)`](/documentation/NowPlaying/MusicContent/init(id:songTitle:artistName:albumName:type:duration:artwork:))

Creates music content with the specified metadata.

[`init(id: String, songTitle: String, artistName: String, albumName: String, type: MediaType, duration: MediaDuration?, artwork: Artwork, animatedArtwork: AnimatedArtwork?)`](/documentation/NowPlaying/MusicContent/init(id:songTitle:artistName:albumName:type:duration:artwork:animatedArtwork:))

Creates music content with static and animated artwork.

### Instance Properties

[`let albumName: String`](/documentation/NowPlaying/MusicContent/albumName)

The name of the album.

[`let animatedArtwork: AnimatedArtwork?`](/documentation/NowPlaying/MusicContent/animatedArtwork)

Animated artwork for this content.

[`let artistName: String`](/documentation/NowPlaying/MusicContent/artistName)

The name of the artist or performer.

[`let artwork: Artwork?`](/documentation/NowPlaying/MusicContent/artwork)

Artwork for this content.

[`var composer: String?`](/documentation/NowPlaying/MusicContent/composer)

The name of the composer, if applicable.

[`let duration: MediaDuration?`](/documentation/NowPlaying/MusicContent/duration)

The duration of this content.

[`var isrc: String?`](/documentation/NowPlaying/MusicContent/isrc)

The International Standard Recording Code (ISRC) for this content.

[`let songTitle: String`](/documentation/NowPlaying/MusicContent/songTitle)

The title of the song.

[`let type: MediaType`](/documentation/NowPlaying/MusicContent/type)

The media type (audio or video).

## Relationships

### Conforms To

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

[`MediaContentRepresentable`](/documentation/NowPlaying/MediaContentRepresentable)

---

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)