1.0.1 • Published 3 months ago

nuxt-musicfyplayer v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

musicfyplayer

nuxt-musicfyplayer

npm version npm downloads License Tests Nuxt

Embed a simple HTML music player from local or hosted audio on your Nuxt app using MediaElement.js and ColorThief.js

Quick Setup

  1. Add nuxt-musicfyplayer dependency to your project
# Using pnpm
pnpm add -D nuxt-musicfyplayer

# Using yarn
yarn add --dev nuxt-musicfyplayer

# Using npm
npm install --save-dev nuxt-musicfyplayer
  1. Add nuxt-musicfyplayer to the modules section of nuxt.config.ts
export default defineNuxtConfig({
  modules: [
    'nuxt-musicfyplayer'
  ]
})

That's it! You can now use nuxt-musicfyplayer in your Nuxt app ✨

Usage

In the project, use the component <MusicfyPlayer :config="" />, where config is the configuration options of the player.

Define your configuration options with the defineMusicfyPlayer composable.

PropertyDescription
audioThe audio source properties
imageThe image source (preferably squared)
sizeThe size of your player
colorColor options

Audio shared properties

PropertyDescriptionDefault value
providerProvider of the audio source.local
typeContent-type fo the audio sourceaudio/mpeg
...Selected audio provider properties

Supported audio providers

ProviderValue
URLlocal
Dropboxdropbox

Local audio properties

Audio propertyDescriptionRequired
srcAudio source linkYes

Dropbox audio properties

Audio propertyDescriptionRequired
idFile identifierYes
rlkeyNew file identifier paramNo

Image properties

PropertyDescriptionRequired
srcImage source linkYes
altImage alternative textNo

Size properties

PropertyDescriptionDefault value
widthMusic player width100%
heightMusic player height450px

Color properties

PropertyDescriptionDefault value
classA custom class for your player's background colormusicfyplayer-color
detectDetect the dominant color from the image source and use it as the player's background colorfalse

Example

Use the emoji property to render an emoji by character.

<script setup lang="ts">
const config = defineMusicfyPlayer({
  audio: {
    provider: "dropbox",
    id: "soep3xvq8aee4eh6hcj4r",
    rlkey: "g7sqo9y5zl3f69oxftzo5auc5"
  },
  image: {
    src: "https://dimatis.yizack.com/images/reminiscences.jpg",
    alt: "Dimatis - Reminiscences"
  },
  size: {
    width: "100%"
  },
  color: {
    detect: true
  }
})
</script>

<template>
  <MusicfyPlayer :config="config" />
</template>

More examples

Example of use on a website: Dimatis Website

Live Demo

Live Demo

Check out the 🏀 Online playground for more examples.

Credits

Development

# Install dependencies
npm install

# Generate type stubs
npm run dev:prepare

# Develop with the playground
npm run dev

# Build the playground
npm run dev:build

# Run ESLint
npm run lint

# Run Vitest
npm run test
npm run test:watch

# Release new version
npm run release
1.0.1

3 months ago

1.0.0

3 months ago