All audio files must be with the rest of your source files.
First make your sound file end up in your builded code folder, example in folder BUILDFOLDER/assets/sounds/FILENAME.mp3
Then use it in preload like that assets/sounds/FILENAME.mp3
Installation
To use npm
npm install @capgo/native-audio
To use yarn
yarn add @capgo/native-audio
Sync native files
npx cap sync
On iOS, Android and Web, no further steps are needed.
import{NativeAudio}from'@capgo/native-audio'/** * This method will load more optimized audio files for background into memory. * @param assetPath - relative path of the file or absolute url (file://) * assetId - unique identifier of the file * audioChannelNum - number of audio channels * isUrl - pass true if assetPath is a `file://` url * @returns void */NativeAudio.preload({assetId: "fire",assetPath: "assets/sounds/fire.mp3",audioChannelNum: 1,isUrl: false});/** * This method will play the loaded audio file if present in the memory. * @param assetId - identifier of the asset * @param time - (optional) play with seek. example: 6.0 - start playing track from 6 sec * @returns void */NativeAudio.play({assetId: 'fire',// time: 6.0 - seek time});/** * This method will loop the audio file for playback. * @param assetId - identifier of the asset * @returns void */NativeAudio.loop({assetId: 'fire',});/** * This method will stop the audio file if it's currently playing. * @param assetId - identifier of the asset * @returns void */NativeAudio.stop({assetId: 'fire',});/** * This method will unload the audio file from the memory. * @param assetId - identifier of the asset * @returns void */NativeAudio.unload({assetId: 'fire',});/** * This method will set the new volume for a audio file. * @param assetId - identifier of the asset * volume - numerical value of the volume between 0.1 - 1.0 * @returns void */NativeAudio.setVolume({assetId: 'fire',volume: 0.4,});/** * this method will get the duration of an audio file. * only works if channels == 1 */NativeAudio.getDuration({assetId: 'fire'}).then(result=>{console.log(result.duration);})/** * this method will get the current time of a playing audio file. * only works if channels == 1 */NativeAudio.getCurrentTime({assetId: 'fire'});.then(result=>{console.log(result.currentTime);})/** * This method will return false if audio is paused or not loaded. * @param assetId - identifier of the asset * @returns {isPlaying: boolean} */NativeAudio.isPlaying({assetId: 'fire'}).then(result=>{console.log(result.isPlaying);})