New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

capacitor-native-audio

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

capacitor-native-audio

A native plugin for native audio engine

  • 3.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source


Native Audio

@capacitor-community/native-audio

Capacitor community plugin for playing sounds.


Capacitor Native Audio Plugin

Capacitor plugin for native audio engine. Capacitor v3 - ✅ Support!

Click on video to see example 💥

YouTube Example

Maintainers

MaintainerGitHubSocial
Maxim Bazuevbazuka5801Telegram

Mainteinance Status: Actively Maintained

Preparation

All audio place in specific platform folder

Andoid: android/app/src/assets

iOS: ios/App/App/sounds

Installation

To use npm

npm install @capacitor-community/native-audio

To use yarn

yarn add @capacitor-community/native-audio

Sync native files

npx cap sync

On iOS and Android, no further steps are needed.

Configuration

No configuration required for this plugin.

Supported methods

NameAndroidiOSWeb
configure
preloadSimple
preloadComplex
play
loop
stop
unload
setVolume
getDuration
getCurrentTime

Usage

Example repository

import {NativeAudio} from '@capacitor-community/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: "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);
})

API

configure(...)

configure(options: ConfigureOptions) => Promise<void>
ParamType
optionsConfigureOptions

preload(...)

preload(options: PreloadOptions) => Promise<void>
ParamType
optionsPreloadOptions

play(...)

play(options: { assetId: string; time: number; }) => Promise<void>
ParamType
options{ assetId: string; time: number; }

resume(...)

resume(options: { assetId: string; }) => Promise<void>
ParamType
options{ assetId: string; }

loop(...)

loop(options: { assetId: string; }) => Promise<void>
ParamType
options{ assetId: string; }

stop(...)

stop(options: { assetId: string; }) => Promise<void>
ParamType
options{ assetId: string; }

unload(...)

unload(options: { assetId: string; }) => Promise<void>
ParamType
options{ assetId: string; }

setVolume(...)

setVolume(options: { assetId: string; volume: number; }) => Promise<void>
ParamType
options{ assetId: string; volume: number; }

getCurrentTime(...)

getCurrentTime(options: { assetId: string; }) => Promise<{ currentTime: number; }>
ParamType
options{ assetId: string; }

Returns: Promise<{ currentTime: number; }>


getDuration(...)

getDuration(options: { assetId: string; }) => Promise<{ duration: number; }>
ParamType
options{ assetId: string; }

Returns: Promise<{ duration: number; }>


Interfaces

ConfigureOptions
PropType
fadeboolean
focusboolean
PreloadOptions
PropType
assetPathstring
assetIdstring
volumenumber
audioChannelNumnumber
isUrlboolean

Keywords

FAQs

Package last updated on 06 Oct 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc