MediaPlugin

Improve this doc

$ ionic plugin add cordova-plugin-media

Repo: https://github.com/apache/cordova-plugin-media

Usage

import { MediaPlugin } from 'ionic-native';



// Create a MediaPlugin instance.  Expects path to file or url as argument
// We can optionally pass a second argument to track the status of the media

const onStatusUpdate = (status) => console.log(status);

const file = new MediaPlugin('path/to/file.mp3', onStatusUpdate);

// Catch the Success & Error Output
// Platform Quirks
// iOS calls success on completion of playback only
// Android calls success on completion of playback AND on release()
file.init.then(() => {
  console.log('Playback Finished');
}, (err) => {
  console.log('somthing went wrong! error code: ' + err.code + ' message: ' + err.message);
});

// play the file
file.play();

// pause the file
file.pause();

// get current playback position
file.getCurrentPosition().then((position) => {
  console.log(position);
});

// get file duration
file.getDuration().then((duration) => {
  console.log(position);
});

// skip to 10 seconds (expects int value in ms)
file.seekTo(10000);

// stop playing the file
file.stop();

// release the native audio resource
// Platform Quirks:
// iOS simply create a new instance and the old one will be overwritten
// Android you must call release() to destroy instances of media when you are done
file.release();

// Recording to a file
var newFile = new MediaPlugin('path/to/file.mp3');
newFile.startRecord();

newFile.stopRecord();

Instance Members

init

getCurrentAmplitude()

Get the current amplitude of the current recording.

Returns: Promise<any> Returns a promise with the amplitude of the current recording

getCurrentPosition()

Get the current position within an audio file. Also updates the Media object’s position parameter.

Returns: Promise<any> Returns a promise with the position of the current recording

getDuration()

Get the duration of an audio file in seconds. If the duration is unknown, it returns a value of -1.

Returns: number Returns a promise with the duration of the current recording

play()

Starts or resumes playing an audio file.

pause()

Pauses playing an audio file.

release()

Releases the underlying operating system’s audio resources. This is particularly important for Android, since there are a finite amount of OpenCore instances for media playback. Applications should call the release function for any Media resource that is no longer needed.

seekTo(milliseconds)

Sets the current position within an audio file.

Param Type Details
milliseconds number

The time position you want to set for the current audio file

setVolume(volume)

Set the volume for an audio file.

Param Type Details
volume number

The volume to set for playback. The value must be within the range of 0.0 to 1.0.

startRecord()

Starts recording an audio file.

stopRecord()

Stops recording

stop()

Stops playing an audio file.

API

Native

General