Spaces:
Running
Running
File size: 1,977 Bytes
2b7aae2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | import { Object3D } from './../core/Object3D';
import { AudioListener } from './AudioListener';
import { AudioContext } from './AudioContext';
// Extras / Audio /////////////////////////////////////////////////////////////////////
export class Audio<NodeType extends AudioNode = GainNode> extends Object3D {
constructor(listener: AudioListener);
type: 'Audio';
listener: AudioListener;
context: AudioContext;
gain: GainNode;
/**
* @default false
*/
autoplay: boolean;
buffer: null | AudioBuffer;
/**
* @default 0
*/
detune: number;
/**
* @default false
*/
loop: boolean;
/**
* @default 0
*/
loopStart: number;
/**
* @default 0
*/
loopEnd: number;
/**
* @default 0
*/
offset: number;
/**
* @default undefined
*/
duration: number | undefined;
/**
* @default 1
*/
playbackRate: number;
/**
* @default false
*/
isPlaying: boolean;
/**
* @default true
*/
hasPlaybackControl: boolean;
/**
* @default 'empty'
*/
sourceType: string;
source: null | AudioBufferSourceNode;
/**
* @default []
*/
filters: AudioNode[];
getOutput(): NodeType;
setNodeSource(audioNode: AudioBufferSourceNode): this;
setMediaElementSource(mediaElement: HTMLMediaElement): this;
setMediaStreamSource(mediaStream: MediaStream): this;
setBuffer(audioBuffer: AudioBuffer): this;
play(delay?: number): this;
onEnded(): void;
pause(): this;
stop(): this;
connect(): this;
disconnect(): this;
setDetune(value: number): this;
getDetune(): number;
getFilters(): AudioNode[];
setFilters(value: AudioNode[]): this;
getFilter(): AudioNode;
setFilter(filter: AudioNode): this;
setPlaybackRate(value: number): this;
getPlaybackRate(): number;
getLoop(): boolean;
setLoop(value: boolean): this;
setLoopStart(value: number): this;
setLoopEnd(value: number): this;
getVolume(): number;
setVolume(value: number): this;
/**
* @deprecated Use {@link AudioLoader} instead.
*/
load(file: string): Audio;
}
|