jsgbc
Version:
jsGBC Core Emulator
35 lines (34 loc) • 1.14 kB
TypeScript
import Resampler from "./Resampler";
export default class AudioDevice {
inputBuffer: Float32Array;
inputBufferSize: number;
resampler: Resampler;
outputBuffer: Float32Array;
outputBufferSize: number;
outputBufferStart: number;
outputBufferEnd: number;
volume: number;
context: AudioContext;
audioWorkletSupport: boolean;
samplesPerCallback: number;
channelsAllocated: number;
sampleRate: number;
bufferSize: number;
minBufferSize: number;
maxBufferSize: number;
gainNode: GainNode;
audioNode: AudioNode;
constructor({ context, channels, minBufferSize }: any);
setSampleRate(sampleRate: number): void;
setMaxBufferSize(maxBufferSize: number): void;
writeAudio(buffer: Float32Array): void;
remainingBuffer(): number;
init(): Promise<void>;
processAudio(e: AudioProcessingEvent): void;
setVolume(volume: number): void;
resetAudioBuffer(targetSampleRate: number): void;
refillResampledBuffer(): void;
initializeResampler(targetSampleRate: number): void;
resampledSamplesLeft(): number;
getBufferSamples(): Float32Array;
}