npm i --save @kefah/nativescript-sound
- Version: 1.0.1
- GitHub: https://github.com/NativeScript/plugins
- NPM: https://www.npmjs.com/package/%40kefah%2Fnativescript-sound
- Downloads:
- Last Day: 1
- Last Week: 3
- Last Month: 4
@kefah/nativescript-sound
This is a plugin to play games short sound
Limitations Android app can play only sound under 1MB (5.6 seconds) Do not play a large audio with this plugin, it is not made for
npm install @kefah/nativescript-sound
Usage
Do not forged Webpack!
const config = webpack.resolveConfig();
const customCopyInstance = new CopyWebpackPlugin({
patterns: [
...
{ from: 'sounds/*.mp3'}, // put here the path to the s-audio file
],
});
config.plugins.push(customCopyInstance);
return config;
Use it :-)
import { NativescriptSound, SoundPathInterface } from '@kefah/nativescript-sound';
/**
* Do not forged to configure webpack for your audio file
* */
const appPath: string = knownFolders.currentApp().path;
const soundsPath = path.join(appPath, "sounds");
this.sounds = {
"success": {
path: path.join(soundsPath, "card_palyed_1.mp3")
},
"msg": {
path: path.join(soundsPath, "card_played_2.mp3")
},
"success_1": {
path: path.join(soundsPath, "card_played.mp3")
},
"shuffle": {
path: path.join(soundsPath, "card_shuffle.mp3")
},
"wrong": {
path: path.join(soundsPath, "card_swipe.mp3")
}
};
this.player = new NativescriptSound(10)
// Prepare all the audio to be played later
this.player.prepare({
paths: this.sounds,
onLoadCompleted: (player, sampleId, status) => {
console.log(`${sampleId} with status ${status}`)
}
});
// ...
// Later on the game, play the sound
this.player.play({
name: "success"
});
API
Name | IOS | ANDROID | Type | Description |
prepare | X | X | paths: SoundsOptions | Prepare a list of audios to be played later on the game |
play | X | X | playOptions: PlayOptions | Play a specific audio |
stop | X | X | soundName: string | Stop the audio with the sound name |
pause | X | X | soundName: string | Pause the audio |
resume | X | soundName: string | resume the audio | |
setVolume | X | X | soundName: string | set the volume of the audio |
setRate | X | X | soundName: string | set the speed of the audio |
unload | X | soundName: string | unload audio, you need new instance after calling this to reload the audio | |
releaseAll | X | unload all audios, you need new instance after calling this to reload the audio |
License
Apache License Version 2.0