# AudioStream

`import { AudioStream } from "destack:audio/binding";`

Opened audio stream state.

```ds title="AudioStream"
export struct AudioStream {
    backend: AudioBackendKind;
    deviceId: string;
    direction: AudioDirection;
    shareMode: AudioShareMode;
    mode: AudioStreamMode;
    format: AudioFormat;
    bufferFrames: uint32;
    quantumFrames: uint32;
    bufferCount: uint32;
    sampleBytes: uint16;
    frameBytes: uint32;
    planeBytes: uint32;
    flags: AudioStreamFlags;
}
```

[language/library/src/audio/binding/stream.ds:75:102](https://github.com/destack-sh/destack/blob/main/language/library/src/audio/binding/stream.ds#L75-L102)

## Members

### `backend: AudioBackendKind`

Host backend.

### `deviceId: string`

Stream device identifier.

### `direction: AudioDirection`

Stream direction.

### `shareMode: AudioShareMode`

Share mode.

### `mode: AudioStreamMode`

Stream transfer contract.

### `format: AudioFormat`

Negotiated audio format.

### `bufferFrames: uint32`

Buffer size in frames.

### `quantumFrames: uint32`

Processing quantum in frames.

### `bufferCount: uint32`

Backend buffer count.

### `sampleBytes: uint16`

Bytes per sample.

### `frameBytes: uint32`

Bytes per interleaved frame.

### `planeBytes: uint32`

Bytes per channel plane when using planar buffers.

### `flags: AudioStreamFlags`

Effective stream flags.
