Audio source input for your application, demo or tests.
npm install app-audiojs
const createAudio = require('app-audio');
let audioSrc = createAudio({
source: './my-audio.mp3'
}).on('ready', (node, url) => {
node.connect(myAnalyzer);
});
`
API
const createAudio = require('app-audio');
Get app-audio constructor. It can also serve as a class.
let appAudio = createAudio(options);
Create app-audio instance based off options:
`js
//initial source
source: null,
//container to place UI
container: document.body,
//audio context to use
context: require('audio-context'),
//Enable file select
file: true,
//Enable url input
url: true,
//Enable soundcloud input
soundcloud: true,
//Enable primitive signal input
signal: true,
//Enable mic input
mic: true,
//Show play/payse buttons
play: true,
//Start playing whenever source is selected
autoplay: true,
//Repeat track list after end
loop: true,
//Show progress indicator at the top of container
progress: true,
//Save/load tracks to sessionStorage
save: true,
//Show list of recent tracks
recent: true,
//Enable drag and drop files
dragAndDrop: true,
//Default color
color: 'black'
`
appAudio.on(event, callback);
Bind event callback. Available events:
`js
//called whenever new source is set and loaded, like mic, file, signal etc.
//source audioNode is passed as a first argument, so do connection routine here
appAudio.on('load', (audioNode, sourceUrl) => {
audioNode.connect(myAnalyzer);
});
//whenever play is pressed or called
appAudio.on('play', (audioNode) => {});
//whenever pause is pressed or called
appAudio.on('pause', (audioNode) => {});
//whenever reset is called
appAudio.on('reset', () => {});
`
appAudio.set(source);
Set source to play. Source can be whether File, FileList, URL, soundcloud URL, list of URLs, MediaStream etc.
appAudio.play();
Play selected source. Other playback methods:
`js
//pause current source, for mic - mute output
appAudio.pause();
//reset current source, stop playback
appAudio.reset();
//play next track, if there are multiple tracks
appAudio.playNext();
`
appAudio.show();
Open menu. To hide menu, call appAudio.hide()
appAudio.update(options?);`