Interface I2sWriter

I2S写通道,用于向I2S通道写数据,发送到设备。

Hierarchy

  • IEventSource<{
        data-empty: [];
        data-low: [number];
    }>
    • I2sWriter

Properties

bufferLength: number

数据缓冲中当前存在的字节数

running: boolean

通道是否启用。

Methods

  • 触发事件

    Type Parameters

    • T extends "data-low" | "data-empty"

    Parameters

    • type: T

      事件类型

    • Rest ...args: {
          data-empty: [];
          data-low: [number];
      }[T]

      事件参数

    Returns I2sWriter

  • 取消监听

    Type Parameters

    • T extends "data-low" | "data-empty"

    Parameters

    • type: T
    • handler: ((...args: {
          data-empty: [];
          data-low: [number];
      }[T]) => void)
        • (...args: {
              data-empty: [];
              data-low: [number];
          }[T]): void
        • Parameters

          • Rest ...args: {
                data-empty: [];
                data-low: [number];
            }[T]

          Returns void

    Returns I2sWriter

  • 添加监听

    Type Parameters

    • T extends "data-low" | "data-empty"

    Parameters

    • type: T

      Event type

    • handler: ((...args: {
          data-empty: [];
          data-low: [number];
      }[T]) => void)

      A callback function to process the incomming event

        • (...args: {
              data-empty: [];
              data-low: [number];
          }[T]): void
        • Parameters

          • Rest ...args: {
                data-empty: [];
                data-low: [number];
            }[T]

          Returns void

    Returns I2sWriter

  • 添加一次性监听

    Type Parameters

    • T extends "data-low" | "data-empty"

    Parameters

    • type: T

      Event type

    • handler: ((...args: {
          data-empty: [];
          data-low: [number];
      }[T]) => void)

      A callback function to process the incomming event

        • (...args: {
              data-empty: [];
              data-low: [number];
          }[T]): void
        • Parameters

          • Rest ...args: {
                data-empty: [];
                data-low: [number];
            }[T]

          Returns void

    Returns I2sWriter

  • 停止

    Remarks

    对于发送数据通道,如果当前正在发送数据,停止意味着终止发送,但是未完毕的数据和位置保留,待下次启用 start() 时继续。 如果通道已经停止,则没有影响。

    Returns I2sWriter

  • 设置缓存数据量下限阈值

    Parameters

    • level: number

      阈值字节数

    Returns I2sWriter

  • 异步将数据写入发送缓存,全部写入后resolve. @fixme: this will panic.

    Description

    将数据全部写入发送缓存,直到所有数据都写入完毕。 如果缓存满而无泻出途径,则会导致背地写入一直阻塞而无进展。

    Parameters

    Returns Promise<void>

  • 将数据复制部分到输出缓存,返回实际写入的字节数。

    Description

    调用 .start() 方法启动执行后,才开始播放,否则数据只是写入缓冲区,实际并没有播放。 至于 start() 和写数据孰先孰后,均可。

    Returns

    实际写入的字节数

    Parameters

    Returns number