# AudioPlayer

URL: https://www.caprid.com/docs/reference/typescript/caprid/moq-media/interfaces/audioplayer/

Defined in: [audio-player.ts:251](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L251)

Plays any number of inputs into one output node.

## Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| <a id="type-parameter-output"></a> `Output` *extends* [`AudioPlayerGainNode`](https://www.caprid.com/docs/reference/typescript/caprid/moq-media/interfaces/audioplayergainnode/) | [`AudioPlayerGainNode`](https://www.caprid.com/docs/reference/typescript/caprid/moq-media/interfaces/audioplayergainnode/) |

## Properties

### context

```ts
readonly context: AudioPlayerContext;
```

Defined in: [audio-player.ts:253](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L253)

The context every input plays through.

***

### inputs

```ts
readonly inputs: readonly AudioPlayerInput[];
```

Defined in: [audio-player.ts:267](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L267)

The inputs not yet removed.

***

### joinPhases

```ts
readonly joinPhases: Readonly<AudioPlayerJoinPhases>;
```

Defined in: [audio-player.ts:271](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L271)

When the worklet module and the libopus module were ready, for measuring a join.

***

### output

```ts
readonly output: Output;
```

Defined in: [audio-player.ts:258](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L258)

The mix of every input. Connect it to the context's destination, or route it through
`createEchoCancellationLoopback` so Chromium's echo canceller hears it.

***

### outputDelayUs

```ts
outputDelayUs: number;
```

Defined in: [audio-player.ts:263](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L263)

Delay after the output that the context does not report, in microseconds, such as an echo-cancellation loopback.
Added to every input's audible time. Default 0.

## Methods

### addInput()

```ts
addInput(options?): AudioPlayerInput;
```

Defined in: [audio-player.ts:265](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L265)

Add an input.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `options?` | [`AudioInputOptions`](https://www.caprid.com/docs/reference/typescript/caprid/moq-media/interfaces/audioinputoptions/) |

#### Returns

[`AudioPlayerInput`](https://www.caprid.com/docs/reference/typescript/caprid/moq-media/interfaces/audioplayerinput/)

***

### close()

```ts
close(): void;
```

Defined in: [audio-player.ts:269](https://github.com/caprids/relay-sdks/blob/main/ts/packages/moq-media/src/audio-player.ts#L269)

Remove every input and disconnect the output. The context stays the caller's to close.

#### Returns

`void`
