alexa-mp3-validator

    1.0.3 • Public • Published

    alexa-mp3-validator

    NPM Version Build Status Coverage Status dependencies Status

    A node module for validating your MP3 files to be used in your Amazon Alexa skill. If you are looking for a CLI version, check out ssmlol. If you want to convert your MP3 files to be usable by Alexa, check out this website.

    Upgrading from < 1.0

    If you are upgrading from < 1.0, please see UPGRADING for migration instructions.

    Requirements of Alexa-ready MP3 Files

    Every MP3 file you want Alexa to play must meet several basic requirements. They are as follows:

    • A valid (MPEG version 2) MP3 file
    • No longer than 90 seconds
    • Encoded with a bit rate of exactly 48 kbps
    • Encoded with a sample rate of exactly 16,000 Hz

    Usage

    The module will check the requirements and return a Promise that returns true or false. An error will be thrown if the module is unable to read the file.

    Function signature

    Boolean validateMP3(String filepath, optional Boolean throwOnValidationError = false)

    Using with Promises

    const { validateMP3 } = require('alexa-mp3-validator');
    validateMP3('path/to/file.mp3')
      .then(isValid => {
        // more logic goes here
      })
      .catch(err => {
        // error handling logic goes here
      })

    Using with async/await

    const { validateMP3 } = require('alexa-mp3-validator');
    (async () => {
      try {
        let isValid = await validateMP3('path/to/file.mp3');
        // more logic goes here
      } catch (err) {
        // error handling logic goes here
      }
    })()

    By default, if a validation error occurs, it will return false. By setting throwOnValidationError to true, all errors will throw.

    Using with async/await and throwOnValidationError = true

    const { validateMP3, AudioValidationError } = require('alexa-mp3-validator');
    (async () => {
      try {
        let isValid = await validateMP3('path/to/file.mp3', true);
        // more logic goes here
      } catch (err) {
        if (err instanceof AudioValidationError) {
          // validation error handling logic goes here
        } else {
          // other error handling logic goes here
        }
      }
    })()

    Install

    npm i alexa-mp3-validator

    DownloadsWeekly Downloads

    4

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    1.34 MB

    Total Files

    24

    Last publish

    Collaborators

    • avatar