Files
DefinitelyTyped/types/av/audioDevice.d.ts
Candid Dauth 7998ced84d Add typings for aurora.js (av) (#51040)
* Add av typings

* Migrate to exports rather than a namespace

* Revert back to namespace approach

* Write tests and fix bugs

* Convert indentation to spaces

* Remove all files except index.d.ts from "files" in tsconfig
2021-02-17 14:12:50 +00:00

53 lines
1.7 KiB
TypeScript

/// <reference path="./buffer.d.ts" />
declare namespace AV {
class AudioDevice {
static register(device: DeviceConstructor): void;
static create(sampleRate: number, channels: number): Device | null;
constructor(sampleRate: number, channels: number);
playing: boolean;
currentTime: number;
start(): void;
stop(): void;
seek(time: number): void;
on(event: "refill", fn: (buffer: Buffer) => void): void;
on(event: "timeUpdate", fn: (msecs: number) => void): void;
off(event: "refill", fn: (buffer: Buffer) => void): void;
off(event: "timeUpdate", fn: (msecs: number) => void): void;
once(event: "refill", fn: (buffer: Buffer) => void): void;
once(event: "timeUpdate", fn: (msecs: number) => void): void;
emit(event: "refill", fn: (buffer: Buffer) => void): void;
emit(event: "timeUpdate", fn: (msecs: number) => void): void;
}
interface DeviceConstructor {
new (sampleRate: number, channels: number): Device;
}
interface Device {
supported: boolean;
destroy(): void;
getDeviceTime(): number;
on(event: "refill", fn: (buffer: Buffer) => void): void;
on(event: "timeUpdate", fn: (msecs: number) => void): void;
off(event: "refill", fn: (buffer: Buffer) => void): void;
off(event: "timeUpdate", fn: (msecs: number) => void): void;
once(event: "refill", fn: (buffer: Buffer) => void): void;
once(event: "timeUpdate", fn: (msecs: number) => void): void;
emit(event: "refill", fn: (buffer: Buffer) => void): void;
emit(event: "timeUpdate", fn: (msecs: number) => void): void;
}
}