UNPKG

@azgaar/tone

Version:

A fork of Web Audio framework for making interactive music in the browser.

61 lines (60 loc) 1.99 kB
import { Tone } from "../Tone"; interface ToneMediaElementOptions { url?: string; onload: (buffer?: ToneMediaElement) => void; onerror: (error: Error) => void; } /** * MediaElement loading and storage. ToneMediaElement is used internally by MediaElementSampler * @example * const mediaElement = new Tone.ToneMediaElement("https://tonejs.github.io/audio/casio/A1.mp3", () => { * console.log("loaded"); * }); * @category Core */ export declare class ToneMediaElement extends Tone { readonly name: string; /** * stores the loaded MediaElement */ private _element?; /** * Callback when the element is loaded */ onload: (element: ToneMediaElement) => void; /** * @param url The url to load. * @param onload A callback which is invoked after the buffer is loaded. * @param onerror The callback to invoke if there is an error */ constructor(url?: string, onload?: (element: ToneMediaElement) => void, onerror?: (error: Error) => void); constructor(options?: Partial<ToneMediaElementOptions>); static getDefaults(): ToneMediaElementOptions; /** * The media element stored in the object. */ get(): HTMLAudioElement | undefined; /** * clean up */ dispose(): this; /** * A path which is prefixed before every url. */ static baseUrl: string; /** * Creates HTMLAudioElement for provided url. */ static load(url: string): HTMLAudioElement; /** * Checks a url's extension to see if the current browser can play that file type. * @param url The url/extension to test * @return If the file extension can be played * @static * @example * Tone.ToneAudioBuffer.supportsType("wav"); // returns true * Tone.ToneAudioBuffer.supportsType("path/to/file.wav"); // returns true */ static supportsType(url: string): boolean; } export {};