@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
83 lines (82 loc) • 4.05 kB
TypeScript
/**
* imports an audio file
*
*
*/
import { TypedAudioNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { AudioBuilder } from '../../../core/audio/AudioBuilder';
import { OnBeforePlayCallback, OnPlaySuccessCallback, OnPlayErrorCallback, OnStopCallback } from './../../../core/audio/PlayerCallbacksManager';
import { AudioType } from '../../poly/registers/nodes/types/Audio';
declare class FileAudioParamsConfig extends NodeParamsConfig {
/** @param url to fetch the audio file from */
url: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
/** @param auto start */
autostart: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
/** @param duration */
duration: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
/** @param display currentTime param */
updateCurrentTimeParam: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
/** @param currentTime */
currentTime: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
/** @param loop */
loop: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
/** @param useLoopRange */
/** @param loop Range */
/** @param play the audio */
play: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
/** @param stop the audio */
pause: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
/** @param restart the audio */
restart: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
/** @param seek 10 seconds back */
seekM10: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
/** @param seek 5 seconds back */
seekM5: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
/** @param seek 5 seconds forward */
seekP5: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
/** @param seek 10 seconds forward */
seekP10: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
}
export declare class FileAudioNode extends TypedAudioNode<FileAudioParamsConfig> {
paramsConfig: FileAudioParamsConfig;
static type(): AudioType;
initializeNode(): void;
dispose(): void;
private _startedAt;
private _stoppedAt;
cook(inputContents: AudioBuilder[]): Promise<void>;
private _player;
private _loadUrl;
play(): Promise<void>;
pause(): Promise<void>;
private _reset;
restart(): Promise<void>;
seekOffset(offset: number): void;
static PARAM_CALLBACK_updateUpdateCurrentTimeParam(node: FileAudioNode): void;
private _updateCurrentTimeParam;
private _currentTime;
static PARAM_CALLBACK_updateLoop(node: FileAudioNode): void;
private _updateLoop;
private _updateOnTickHook;
private _registerOnTickHook;
private _unRegisterOnTickHook;
private _tickCallbackName;
static PARAM_CALLBACK_seekOffset(node: FileAudioNode, offset: number): void;
static PARAM_CALLBACK_play(node: FileAudioNode): void;
static PARAM_CALLBACK_pause(node: FileAudioNode): void;
static PARAM_CALLBACK_restart(node: FileAudioNode): void;
private _playerCallbacks;
onBeforePlay(callback: OnBeforePlayCallback): void;
private _runOnBeforePlay;
onPlaySuccess(callback: OnPlaySuccessCallback): void;
private _runOnPlaySuccess;
onPlayError(callback: OnPlayErrorCallback): void;
private _runOnPlayError;
onStop(callback: OnStopCallback): void;
removeOnStop(callback: OnStopCallback): void;
private _runOnStop;
private _on;
private _removeCallback;
}
export {};