Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including nativescript-audio-player with all npm packages installed. Try it out:

require("tns-core-modules/package.json"); // tns-core-modules is a peer dependency. var nativescriptAudioPlayer = require("nativescript-audio-player")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

nativescript-audio-player v1.0.3

NativeScript plugin to play audio.

NativeScript Audio Player

NativeScript plugin to play audio files for Android and iOS.

npm npm stars forks license donate


tns plugin add nativescript-audio-player

Native Classes


TypeScript Example

import { TNSPlayer } from 'nativescript-audio-player';

export class YourClass {
  private _player: TNSPlayer;

  constructor() {
    this._player = new TNSPlayer();
    this._player.debug = true; // set true to enable TNSPlayer console logs for debugging.
        audioFile: '~/audio/song.mp3', // ~ = app directory
        loop: false,
        completeCallback: this._trackComplete.bind(this),
        errorCallback: this._trackError.bind(this)
      .then(() => {
        this._player.getAudioTrackDuration().then(duration => {
          // iOS: duration is in seconds
          // Android: duration is in milliseconds
          console.log(`song duration:`, duration);

  public togglePlay() {
    if (this._player.isAudioPlaying()) {
    } else {;

  private _trackComplete(args: any) {
    console.log('reference back to player:', args.player);
    // iOS only: flag indicating if completed succesfully
    console.log('whether song play completed successfully:', args.flag);

  private _trackError(args: any) {
    console.log('reference back to player:', args.player);
    console.log('the error:', args.error);
    // Android only: extra detail on error
    console.log('extra info on the error:', args.extra);

Javascript Example:

const audio = require('nativescript-audio-player');

const player = new audio.TNSPlayer();
const playerOptions = {
  audioFile: 'http://some/audio/file.mp3',
  loop: false,
  completeCallback: function() {
    console.log('finished playing');
  errorCallback: function(errorObject) {
  infoCallback: function(args) {

  .then(function(res) {
  .catch(function(err) {
    console.log('something went wrong...', err);



TNSPlayer Methods

_initFromFile(options: AudioPlayerOptions)_: PromiseInitialize player instance with a file without auto-playing.
_playFromFile(options: AudioPlayerOptions)_: PromiseAuto-play from a file.
_initFromUrl(options: AudioPlayerOptions)_: PromiseInitialize player instance from a url without auto-playing.
_playFromUrl(options: AudioPlayerOptions)_: PromiseAuto-play from a url.
_pause()_: Promise<boolean>Pause playback.
_resume()_: voidResume playback.
_seekTo(time:number)_: Promise<boolean>Seek to position.
_dispose()_: Promise<boolean>Free up resources when done playing audio.
_isAudioPlaying()_: booleanDetermine if player is playing.
_getAudioTrackDuration()_: Promise<string>Duration of media file assigned to the player.
_playAtTime(time: number)_: void - iOS OnlyPlay audio track at specific time of duration.
_changePlayerSpeed(speed: number)_: void - On Android Only API 23+Change the playback speed of the media player.

TNSPlayer Instance Properties

iosGet the native ios AVAudioPlayer instance.
androidGet the native android MediaPlayer instance.
debug: booleanSet true to enable debugging console logs (default false).
currentTime: numberGet the current time in the media file's duration.
volume: numberGet/Set the player volume. Value range from 0 to 1.



RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free