Viam SDK
    Preparing search index...

    Interface AudioIn

    Represents a device that takes audio input.

    interface AudioIn {
        getProperties: (extra?: Struct) => Promise<AudioProperties>;
        name: string;
        doCommand(command: Struct | Record<string, JsonValue>): Promise<JsonValue>;
        getAudio(
            codec: string,
            durationSeconds: number,
            previousTimestamp?: bigint,
            extra?: Struct,
        ): AsyncIterable<AudioChunk>;
        getStatus(): Promise<JsonValue>;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    getProperties: (extra?: Struct) => Promise<AudioProperties>

    Return the audio input properties.

    const audioIn = new VIAM.AudioInClient(machine, 'my_audio_in');
    const properties = await audioIn.getProperties();
    name: string

    The name of the resource.

    Methods

    • Send/Receive arbitrary commands to the resource.

      Parameters

      • command: Struct | Record<string, JsonValue>

        The command to execute. Accepts either a Struct or a plain object, which will be converted automatically.

      Returns Promise<JsonValue>

      // Plain object (recommended)
      const result = await resource.doCommand({
      myCommand: { key: 'value' },
      });

      // Struct (still supported)
      import { Struct } from '@viamrobotics/sdk';

      const result = await resource.doCommand(Struct.fromJson({ myCommand: { key: 'value' } }));
    • Stream audio from the device.

      Parameters

      • codec: string
      • durationSeconds: number
      • OptionalpreviousTimestamp: bigint
      • Optionalextra: Struct

      Returns AsyncIterable<AudioChunk>

      const audioIn = new VIAM.AudioInClient(machine, 'my_audio_in');
      const stream = audioIn.getAudio(VIAM.AudioCodec.PCM16, 3, 0n, {});