mirror of
https://github.com/chenasraf/DefinitelyTyped.git
synced 2026-05-18 01:49:01 +00:00
* 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
53 lines
1.7 KiB
TypeScript
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;
|
|
}
|
|
}
|