You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

svelte-mp3

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

svelte-mp3

A minimalistic, blazingly fast 💥 svelte component for audio player ⏮️▶️⏭️

1.3.0
latest
Source
npm
Version published
Weekly downloads
16
-30.43%
Maintainers
1
Weekly downloads
 
Created
Source

Svelte-mp3

Svelte mp3 Logo

This is a light blazingly fast yet simple minimalistic audio player for svelte.

Demo

Installation

npm install --save svelte-mp3

Quickstart

Inside any *.svelte file:

  <script>
    import {AudioPlayer} from 'svelte-mp3';
  </script>
  //...
  <AudioPlayer 
    urls=['url or src of an audio1','url or src of an audio2']
  />

Features

  • Previous track/Next track, shuffle, loop buttons
  • Shuffle, volume, loop values persistant on local storage.
  • Flexible.
  • Customizable.

Props

bind:controller

A way to interact with controller instance.

  • type: HTMLElement
  • default: {}
<script>
...
let controller: HTMLElement = {};
$:console.dir(controller) // Output: DOM element object
</script>

<AudioPlayer {url} bind:controller={controller}/>

bind:audio

A way to interact with audio instance.

  • type: HTMLAudioElement
  • default: {}
<script>
...
let audio: HTMLMediaElement = {};
$:console.dir(audio) // Output: audio element object
</script>

<AudioPlayer {url} bind:audio={audio}/>

class

Any global class name for styling your player

  • type: string
  • default: empty string

disableVolSlider

Removes volume control slider if true.

  • type: boolean
  • default: false

color

coloring the outlines and buttons

  • type: string
  • default: 'black'

enableMediaSession

If true, lets users control playback of media through user-agent defined interface elements (media notification). Interaction with these elements triggers action handlers in the web page, playing the media. See: MDN

  • type: boolean
  • default: true

loop

playback same audio every time or all audio in a loop.

  • type: 'repeat-all', 'repeat', 'no-repeat'
  • default: 'no-repeat'

mediaMetadata

An array of MediaMetadata which lets a web site provide rich metadata to the platform UI for media that is playing. This metadata includes the title, artist (creator) name, album (collection), and artwork. The platform can show this metadata in media centers, notifications, device lockscreens, etc. See: MDN

  • type: MediaMetadataInit []
  • default: []

showNext

hides next button if false.

  • type: boolean
  • default: true

showPrev

hides previous button if false.

  • type: boolean
  • default: true

showTime

display current time and duration of an audio.

  • type: boolean
  • default: true

showTrackNum

display currently playing track number.

  • type: boolean
  • default: true

showShuffle

display shuffle button if true.

  • type: boolean
  • default: true

showVolume

display speaker icon and volume control slider if true.

  • type: boolean
  • default: true

shuffle

playback random track number if true.

  • type: boolean
  • default: true

style

  • type: string
  • default: empty string

urls

array of audio source/url

  • type: string []
  • default: []

volume

value between 0 to 1.

  • type: number
  • default: 1

progressBackground

background color of the audio progress bar.

  • type: string
  • default: gainsboro

progressForeground

foreground color of the audio progress bar.

  • type: string
  • default: red

API

nametypedefaultdesc
isPlayingwritable store Booleanfalsea global writable svelte store for checking and setting audio playback.
trackIndexwritable store number0currently playing track number.
statewritable store 'repeat-all', 'repeat', 'no-repeat''no-repeat'looping values.
PlayIconsvelte component
PauseIconsvelte component
PreviousIconsvelte component
NextIconsvelte component
ShuffleIconsvelte component
RepeatIconsvelte component
RepeatOnceIconsvelte component
NoRepeatIconsvelte component

With global stores you can import them from any svelte component to configure audio player.

Events

svelte mp3 supports almost all events of audio tag. events are forwarded by event dispatcher. see: MDN.

Note: To access target inside of event object you need to write event.detail.target instead of event.target.

name
canplay
canplaythrough
durationchange
ended
loadeddata
playing
ratechange
stalled
suspend
timeupdate
volumechange
waiting
progress
error

Keywords

svelte

FAQs

Package last updated on 29 May 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts