alexa-mp3-validator
![dependencies Status](https://david-dm.org/tejashah88/alexa-mp3-validator/status.svg)
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 => {
})
.catch(err => {
})
Using with async/await
const { validateMP3 } = require('alexa-mp3-validator');
(async () => {
try {
let isValid = await validateMP3('path/to/file.mp3');
} catch (err) {
}
})()
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);
} catch (err) {
if (err instanceof AudioValidationError) {
} else {
}
}
})()