---
title: AVInterfaceControllable
framework: avkit
role: symbol
role_heading: Protocol
path: avkit/avinterfacecontrollable-3xs3i
---

# AVInterfaceControllable

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

## Declaration

```swift
@MainActor protocol AVInterfaceControllable : AVInterfaceMediaSelectionControllable, AVInterfaceMetadataProviding, AVInterfacePlaybackControllable, AVInterfaceTimeControllable, AVInterfaceVolumeControllable
```

## Overview

Overview This protocol consolidates all media source capabilities into a single interface, enabling rich media experiences with full control over playback state, timeline interactions, and content metadata.

## Relationships

### Inherits From

- [AVInterfaceMediaSelectionControllable](avkit/avinterfacemediaselectioncontrollable-6wn31.md)
- [AVInterfaceMetadataProviding](avkit/avinterfacemetadataproviding-666nk.md)
- [AVInterfacePlaybackControllable](avkit/avinterfaceplaybackcontrollable-44aba.md)
- [AVInterfaceTimeControllable](avkit/avinterfacetimecontrollable-63tkp.md)
- [AVInterfaceVolumeControllable](avkit/avinterfacevolumecontrollable-5sjm1.md)
- [Observable](observation/observable.md)
