/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import type { WorkspaceSvg } from './workspace_svg.js'; /** * Class for loading, storing, and playing audio for a workspace. */ export declare class WorkspaceAudio { private parentWorkspace; /** Database of pre-loaded sounds. */ private sounds; /** Time that the last sound was played. */ private lastSound; /** Whether the audio is muted or not. */ private muted; /** * @param parentWorkspace The parent of the workspace this audio object * belongs to, or null. */ constructor(parentWorkspace: WorkspaceSvg); /** * Dispose of this audio manager. * * @internal */ dispose(): void; /** * Load an audio file. Cache it, ready for instantaneous playing. * * @param filenames List of file types in decreasing order of preference (i.e. * increasing size). E.g. ['media/go.mp3', 'media/go.wav'] Filenames * include path from Blockly's root. File extensions matter. * @param name Name of sound. */ load(filenames: string[], name: string): void; /** * Preload all the audio files so that they play quickly when asked for. * * @internal */ preload(): void; /** * Play a named sound at specified volume. If volume is not specified, * use full volume (1). * * @param name Name of sound. * @param opt_volume Volume of sound (0-1). */ play(name: string, opt_volume?: number): void; /** * @param muted If true, mute sounds. Otherwise, play them. */ setMuted(muted: boolean): void; /** * @returns Whether the audio is currently muted or not. */ getMuted(): boolean; } //# sourceMappingURL=workspace_audio.d.ts.map