• A store for audio-related global state. Maintains the Web Audio API context and the set of IMediaHandlers for each media source in Replayer

    Parameters

    • Optional pinia: null | Pinia
    • Optional hot: StoreGeneric

    Returns Store<Audio, Pick<{
        addMediaHandler: ((handler) => void);
        audioContext: ShallowRef<null | AudioContext>;
        closeContext: (() => void);
        getMediaHandlerByTrackId: ((trackId) => IMediaHandler | undefined);
        isContextRunning: Readonly<Ref<boolean, boolean>>;
        mediaHandlers: Readonly<ShallowReactive<Set<IMediaHandler>>>;
        removeMediaHandler: ((handler) => void);
        resumeContext: (() => void);
    }, "audioContext" | "mediaHandlers" | "isContextRunning">, Pick<{
        addMediaHandler: ((handler) => void);
        audioContext: ShallowRef<null | AudioContext>;
        closeContext: (() => void);
        getMediaHandlerByTrackId: ((trackId) => IMediaHandler | undefined);
        isContextRunning: Readonly<Ref<boolean, boolean>>;
        mediaHandlers: Readonly<ShallowReactive<Set<IMediaHandler>>>;
        removeMediaHandler: ((handler) => void);
        resumeContext: (() => void);
    }, never>, Pick<{
        addMediaHandler: ((handler) => void);
        audioContext: ShallowRef<null | AudioContext>;
        closeContext: (() => void);
        getMediaHandlerByTrackId: ((trackId) => IMediaHandler | undefined);
        isContextRunning: Readonly<Ref<boolean, boolean>>;
        mediaHandlers: Readonly<ShallowReactive<Set<IMediaHandler>>>;
        removeMediaHandler: ((handler) => void);
        resumeContext: (() => void);
    }, "getMediaHandlerByTrackId" | "addMediaHandler" | "removeMediaHandler" | "closeContext" | "resumeContext">>

    Remarks

    Multiple tracks can refer to the same media source and thus to the same handler.

Properties

Properties

$id: Audio

Id of the store. Used by map helpers.