@solid-primitives/audio
Advanced tools
// src/index.ts | ||
import { createSignal, batch, onMount, onCleanup, createEffect } from "solid-js"; | ||
var AudioState; | ||
(function(AudioState2) { | ||
var AudioState = /* @__PURE__ */ ((AudioState2) => { | ||
AudioState2["LOADING"] = "loading"; | ||
@@ -11,5 +10,6 @@ AudioState2["PLAYING"] = "playing"; | ||
AudioState2["READY"] = "ready"; | ||
})(AudioState || (AudioState = {})); | ||
return AudioState2; | ||
})(AudioState || {}); | ||
var createAudioPlayer = (src, handlers) => { | ||
const [state, setState] = createSignal(AudioState.STOPPED); | ||
const [state, setState] = createSignal("stopped" /* STOPPED */); | ||
const player = new Audio(); | ||
@@ -29,6 +29,6 @@ if (src instanceof Function) { | ||
const { player, state, setState } = createAudioPlayer(src, [ | ||
["loadeddata", () => setState(AudioState.READY)], | ||
["loadstart", () => setState(AudioState.LOADING)], | ||
["playing", () => setState(AudioState.PLAYING)], | ||
["pause", () => setState(AudioState.PAUSED)] | ||
["loadeddata", () => setState("ready" /* READY */)], | ||
["loadstart", () => setState("loading" /* LOADING */)], | ||
["playing", () => setState("playing" /* PLAYING */)], | ||
["pause", () => setState("paused" /* PAUSED */)] | ||
]); | ||
@@ -46,12 +46,12 @@ const play = () => player.play(); | ||
() => batch(() => { | ||
setState(AudioState.READY); | ||
setState("ready" /* READY */); | ||
setDuration(player.duration); | ||
}) | ||
], | ||
["loadstart", () => setState(AudioState.LOADING)], | ||
["playing", () => setState(AudioState.PLAYING)], | ||
["pause", () => setState(AudioState.PAUSED)], | ||
["loadstart", () => setState(AudioState.LOADING)], | ||
["playing", () => setState(AudioState.PLAYING)], | ||
["pause", () => setState(AudioState.PAUSED)], | ||
["loadstart", () => setState("loading" /* LOADING */)], | ||
["playing", () => setState("playing" /* PLAYING */)], | ||
["pause", () => setState("paused" /* PAUSED */)], | ||
["loadstart", () => setState("loading" /* LOADING */)], | ||
["playing", () => setState("playing" /* PLAYING */)], | ||
["pause", () => setState("paused" /* PAUSED */)], | ||
["timeupdate", () => setCurrentTime(player.currentTime)] | ||
@@ -58,0 +58,0 @@ ]); |
{ | ||
"name": "@solid-primitives/audio", | ||
"version": "1.1.6", | ||
"version": "1.1.7", | ||
"description": "Primitives to manage audio and single sounds.", | ||
@@ -15,3 +15,7 @@ "author": "David Di Biase <dave.dibiase@gmail.com>", | ||
"stage": 3, | ||
"list": ["createAudio", "createAudioPlayer", "createAudioManager"], | ||
"list": [ | ||
"createAudio", | ||
"createAudioPlayer", | ||
"createAudioManager" | ||
], | ||
"category": "Display & Media" | ||
@@ -35,3 +39,4 @@ }, | ||
"require": "./dist/index.cjs" | ||
}, "scripts": { | ||
}, | ||
"scripts": { | ||
"start": "vite -r ./dev/ -c ./dev/vite.config.ts", | ||
@@ -48,6 +53,6 @@ "build": "tsup", | ||
"@babel/preset-env": "^7.15.8", | ||
"@types/jest": "^26.0.10", | ||
"@types/jest": "^27.0.0", | ||
"babel-preset-solid": "^1.1.5", | ||
"jest": "^27.2.5", | ||
"tsup": "^5.10.0", | ||
"jsdom": "^18.1.1", | ||
"prettier": "^2.0.5", | ||
@@ -57,2 +62,3 @@ "solid-testing-library": "^0.2.0", | ||
"tslib": "^2.0.1", | ||
"tsup": "^5.10.0", | ||
"typescript": "^4.0.2" | ||
@@ -83,4 +89,4 @@ }, | ||
"dependencies": { | ||
"solid-js": "^1.2.5" | ||
"solid-js": "1.3.0" | ||
} | ||
} | ||
} |
@@ -6,2 +6,3 @@ # @solid-primitives/audio | ||
[](https://www.npmjs.com/package/@solid-primitives/audio) | ||
[](https://github.com/davedbase/solid-primitives#contribution-process) | ||
@@ -71,2 +72,6 @@ Primitive to manage audio playback in the browser. The primitives are easily composable and extended. To create your own audio element, consider using createAudioPlayer which allows you to supply a player instance that matches the built-in standard Audio API. | ||
1.1.7 | ||
Updated to Solid 1.3. | ||
</details> |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
17639
8.47%350
5.42%76
7.04%11
10%