# A2uiBasicCatalogV1.AudioPlayer

Artifact: [androidx.a2ui.compose:compose-ui](https://developer.android.com/jetpack/androidx/releases/a2ui-compose) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.kt+class:androidx.a2ui.compose.ui.catalog.A2uiBasicCatalogV1.AudioPlayer) Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)


```
interface A2uiBasicCatalogV1.AudioPlayer : A2uiComponent
```

<br />

*** ** * ** ***

The A2UI `"AudioPlayer"` component for playing audio content from a URL.

**Schema Properties:**

- `accessibility` (Dynamic Custom, optional): Accessibility attributes for the audio player.

- `weight` (Number, optional): The relative weight of this component within a Row or Column. This is similar to the CSS 'flex-grow' property. May only be set when the component is a direct descendant of a Row or Column. See `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1#WeightProperty()`.

- `url` (Dynamic String, required): The URL of the audio to be played.

- `description` (Dynamic String, optional): A description of the audio, such as a title or summary.

## Summary

| ### Public companion properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/DynamicA2uiProperty<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AccessibilityAttributes>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer#AccessibilityProperty()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"accessibility"` property of an `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer`. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/DynamicA2uiProperty<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer#DescriptionProperty()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"description"` property of an `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer`. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/DynamicA2uiProperty<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer#UrlProperty()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"url"` property of an `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer`. |

| ### Public functions |
|---|---|
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope.https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer#(androidx.a2ui.compose.runtime.A2uiComponentScope).Content(androidx.a2ui.compose.runtime.A2uiComponentProperties,androidx.compose.ui.Modifier)( properties: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties, modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier )` Emits the UI for this component. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope.https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer#(androidx.a2ui.compose.runtime.A2uiComponentScope).TypedContent(kotlin.String,kotlin.String,androidx.a2ui.compose.ui.catalog.A2uiBasicCatalogV1.AccessibilityAttributes,androidx.compose.ui.Modifier)( url: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, description: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?, accessibility: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AccessibilityAttributes?, modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier )` Renders the `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer` with its resolved property values. |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope.https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer#(androidx.a2ui.compose.runtime.A2uiComponentScope).isReady(androidx.a2ui.compose.runtime.A2uiComponentProperties)(properties: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties)` Determines whether this component is ready to be rendered. |

| ### Public properties |
|---|---|
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer#description()` A semantic description of the component's behavior and purpose. |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer#name()` The unique string identifier for this component type (e.g., `"Text"`, `"Button"`). |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty<*>>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer#properties()` The list of typed properties expected by this component. |

## Public companion properties

### AccessibilityProperty

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
val AccessibilityProperty: DynamicA2uiProperty<A2uiBasicCatalogV1.AccessibilityAttributes>
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"accessibility"` property of an `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer`.

### DescriptionProperty

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
val DescriptionProperty: DynamicA2uiProperty<String>
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"description"` property of an `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer`.

### UrlProperty

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
val UrlProperty: DynamicA2uiProperty<String>
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"url"` property of an `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer`.

## Public functions

### A2uiComponentScope.Content

Artifact: [androidx.a2ui.compose:compose-ui](https://developer.android.com/jetpack/androidx/releases/a2ui-compose) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.kt+function:Content)

```
@Composable
open fun A2uiComponentScope.Content(
    properties: A2uiComponentProperties,
    modifier: Modifier
): Unit
```

Emits the UI for this component.

This function is invoked within the `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope`, which provides access to extensions for evaluating reactive data bindings, rendering nested children, dispatching user actions, and reporting runtime errors.

| Parameters |
|---|---|
| `properties: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties` | The stable properties wrapper from which to extract static payloads or bind dynamic data paths. |
| `modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` | The `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` applied to the root of this component's layout. |

### A2uiComponentScope.TypedContent

Artifact: [androidx.a2ui.compose:compose-ui](https://developer.android.com/jetpack/androidx/releases/a2ui-compose) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.kt+function:TypedContent) Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
@Composable
fun A2uiComponentScope.TypedContent(
    url: String,
    description: String?,
    accessibility: A2uiBasicCatalogV1.AccessibilityAttributes?,
    modifier: Modifier
): Unit
```

Renders the `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AudioPlayer` with its resolved property values.

| Parameters |
|---|---|
| `url: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the URL of the audio to be played |
| `description: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | a description of the audio, such as a title or summary |
| `accessibility: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AccessibilityAttributes?` | accessibility attributes for the audio player |
| `modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` to apply to the layout |

### A2uiComponentScope.isReady

Artifact: [androidx.a2ui.compose:compose-ui](https://developer.android.com/jetpack/androidx/releases/a2ui-compose) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.kt+function:isReady)

```
@Composable
open fun A2uiComponentScope.isReady(properties: A2uiComponentProperties): Boolean
```

Determines whether this component is ready to be rendered.

This is evaluated during component state resolution to determine if the component should transition from the `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentState.Loading` state to the `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentState.Success` state. The readiness is automatically re-evaluated when any reactive state read in this composable function changes (such as dynamic data bindings observed via `properties.bind(...)`).

By default, components are considered instantly ready. Override this method to support progressive rendering---for example, returning `false` until a required dynamic data binding (like an image URL or text string) has been successfully resolved from the surface's data model.

| Parameters |
|---|---|
| `properties: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties` | The stable properties wrapper provided by the A2UI protocol. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `true` if the component is fully ready to be composed, `false` if it is still loading. |

## Public properties

### description

```
open val description: String
```

A semantic description of the component's behavior and purpose.

This is included in the generated schema to help the agent understand when and how it should output this component.

### name

```
open val name: String
```

The unique string identifier for this component type (e.g., `"Text"`, `"Button"`).

This matches the `"component"` field in the A2UI protocol's component payloads and is used by the framework to route incoming payloads to this specific implementation.

Note: This name must be unique within an `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/A2uiCatalog`.

### properties

```
open val properties: List<A2uiProperty<*>>
```

The list of typed properties expected by this component.

The properties serve two purposes:

1. To automatically generate the component's JSON schema for the agent.

2. To serve as type-safe tokens for extracting payloads or resolving dynamic data bindings from `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties` at runtime.