You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NativeScript plugin to play and record audio files for Android and iOS.
Do you need assistance on your project or plugin? Contact the nStudio team anytime at [email protected] to get up to speed with the best practices in mobile and web app development.
Note: You will need to grant permissions on iOS to allow the device to access the microphone if you are using the recording function. If you don't, your app may crash on device and/or your app might be rejected during Apple's review routine. To do this, add this key to your app/App_Resources/iOS/Info.plist file:
<key>NSMicrophoneUsageDescription</key>
<string>Recording Practice Sessions</string>
Usage
TypeScript Example
import{TNSPlayer}from'nativescript-audio';exportclassYourClass{private_player: TNSPlayer;constructor(){this._player=newTNSPlayer();this._player.debug=true;// set true to enable TNSPlayer console logs for debugging.this._player.initFromFile({audioFile: '~/audio/song.mp3',// ~ = app directoryloop: 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 millisecondsconsole.log(`song duration:`,duration);});});}publictogglePlay(){if(this._player.isAudioPlaying()){this._player.pause();}else{this._player.play();}}private_trackComplete(args: any){console.log('reference back to player:',args.player);// iOS only: flag indicating if completed succesfullyconsole.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 errorconsole.log('extra info on the error:',args.extra);}}
Javascript Example:
constaudio=require('nativescript-audio');constplayer=newaudio.TNSPlayer();constplayerOptions={audioFile: 'http://some/audio/file.mp3',loop: false,completeCallback: function(){console.log('finished playing');},errorCallback: function(errorObject){console.log(JSON.stringify(errorObject));},infoCallback: function(args){console.log(JSON.stringify(args));}};player.playFromUrl(playerOptions).then(function(res){console.log(res);}).catch(function(err){console.log('something went wrong...',err);});