<!--
{
  "documentType" : "article",
  "framework" : "AVKit",
  "identifier" : "/documentation/AVKit/third-party-casting-support",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Third-party casting support"
}
-->

# Third-party casting support

Provide custom playback controls for third-party casting services and other media sources.

## Overview

Use the [`AVPlaybackUserInterfaceControllable`](/documentation/AVKit/AVPlaybackUserInterfaceControllable-92fri) protocol suite to build custom transport controls that work with third-party casting services. The [`AVPlaybackUserInterfaceControllable`](/documentation/AVKit/AVPlaybackUserInterfaceControllable-92fri) composite protocol combines playback, timeline, media selection, volume, and metadata capabilities into a single interface.

## Topics

### Complete control interface

[`protocol AVPlaybackUserInterfaceControllable`](/documentation/AVKit/AVPlaybackUserInterfaceControllable-92fri)

A comprehensive protocol that provides complete media control and information for playback, timeline navigation, audio/subtitle selection, volume control, and metadata access.

[`@protocol AVPlaybackUserInterfaceControllable <AVPlaybackUserInterfaceTimeControllable, AVPlaybackUserInterfacePlaybackControllable, AVPlaybackUserInterfaceMediaSelectionControllable, AVPlaybackUserInterfaceVolumeControllable, AVPlaybackUserInterfaceMetadataProviding>`](/documentation/AVKit/AVPlaybackUserInterfaceControllable-7ti30)

A comprehensive protocol that provides complete media control and information for playback, timeline navigation, audio/subtitle selection, volume control, and metadata access.

### Playback control

[`protocol AVPlaybackUserInterfacePlaybackControllable`](/documentation/AVKit/AVPlaybackUserInterfacePlaybackControllable-9he54)

Provides playback control and state management for media content.

[`@protocol AVPlaybackUserInterfacePlaybackControllable <NSObject>`](/documentation/AVKit/AVPlaybackUserInterfacePlaybackControllable-81n66)

Provides playback control and state management for media content.

[`enum AVPlaybackUserInterfacePlaybackState`](/documentation/AVKit/AVPlaybackUserInterfacePlaybackState)

Describes possible transport states of the playback source.

[`struct AVPlaybackUserInterfaceSeekCapabilities`](/documentation/AVKit/AVPlaybackUserInterfaceSeekCapabilities)

Describes navigation capabilities of the media source.

### Timeline and segments

[`protocol AVPlaybackUserInterfaceTimeControllable`](/documentation/AVKit/AVPlaybackUserInterfaceTimeControllable-50vcy)

Provides time control and navigation capabilities for media content.

[`@protocol AVPlaybackUserInterfaceTimeControllable <NSObject>`](/documentation/AVKit/AVPlaybackUserInterfaceTimeControllable-62fq2)

Provides time control and navigation capabilities for media content.

[`class AVPlaybackUserInterfacePlaybackPosition`](/documentation/AVKit/AVPlaybackUserInterfacePlaybackPosition)

A snapshot comprising a playback position recorded at a known host time and the rate of position
advancement.

[`class AVPlaybackUserInterfaceTimelineSegment`](/documentation/AVKit/AVPlaybackUserInterfaceTimelineSegment)

Represents a contiguous segment of timeline content with specific playback characteristics.

[`enum AVPlaybackUserInterfaceTimelineSegmentType`](/documentation/AVKit/AVPlaybackUserInterfaceTimelineSegmentType)

Describes the type of content within a timeline segment.

### Media selection

[`protocol AVPlaybackUserInterfaceMediaSelectionControllable`](/documentation/AVKit/AVPlaybackUserInterfaceMediaSelectionControllable-8ee5z)

Provides audio and subtitle selection capabilities for media content.

[`@protocol AVPlaybackUserInterfaceMediaSelectionControllable <NSObject>`](/documentation/AVKit/AVPlaybackUserInterfaceMediaSelectionControllable-2fftn)

Provides audio and subtitle selection capabilities for media content.

[`class AVPlaybackUserInterfaceMediaSelectionOption`](/documentation/AVKit/AVPlaybackUserInterfaceMediaSelectionOption)

Represents a media selection option for audio tracks or subtitle tracks.

### Volume control

[`protocol AVPlaybackUserInterfaceVolumeControllable`](/documentation/AVKit/AVPlaybackUserInterfaceVolumeControllable-4vgi1)

Provides volume and audio muting control for media content.

[`@protocol AVPlaybackUserInterfaceVolumeControllable <NSObject>`](/documentation/AVKit/AVPlaybackUserInterfaceVolumeControllable-5ystg)

Provides volume and audio muting control for media content.

### Content metadata

[`protocol AVPlaybackUserInterfaceMetadataProviding`](/documentation/AVKit/AVPlaybackUserInterfaceMetadataProviding-814y4)

Provides metadata information about media content including title, artwork, and content type.

[`@protocol AVPlaybackUserInterfaceMetadataProviding <NSObject>`](/documentation/AVKit/AVPlaybackUserInterfaceMetadataProviding-1w04z)

Provides metadata information about media content including title, artwork, and content type.

[`struct AVPlaybackUserInterfaceContentMetadata`](/documentation/AVKit/AVPlaybackUserInterfaceContentMetadata-swift.struct)

A Swift-friendly structure representing media metadata.

[`@interface AVPlaybackUserInterfaceContentMetadata : NSObject`](/documentation/AVKit/AVPlaybackUserInterfaceContentMetadata-c.class)

Provides metadata information about media content including title, artwork, and content type.

[`@interface AVPlaybackUserInterfaceContentMetadataTemplate : NSObject`](/documentation/AVKit/AVPlaybackUserInterfaceContentMetadataTemplate)

A mutable template for configuring media metadata before creating immutable metadata objects.

[`class AVPlaybackUserInterfaceContentArtwork`](/documentation/AVKit/AVPlaybackUserInterfaceContentArtwork)

Base class representing artwork or cover art for media content.

[`class AVPlaybackUserInterfaceContentURLArtwork`](/documentation/AVKit/AVPlaybackUserInterfaceContentURLArtwork)

An artwork subclass that references artwork via a URL and content type.

[`@interface AVPlaybackUserInterfaceContentVideoProperties : NSObject`](/documentation/AVKit/AVPlaybackUserInterfaceContentVideoProperties)

Properties specific to video content.



---

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)