Media Plugin
Tested Version: 5.0.2
This plugin provides the ability to record and play back audio files on a device.
This plugin defines a global Media Constructor. Although in the global scope, it is not available until after the deviceready event.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(Media);
}Plugin ID
cordova-plugin-mediaAdding the Plugin in Monaca
In order to use this plugin, please enable Media plugin in Monaca Cloud IDE.
Supported Platforms
Android
iOS
Media Object
Parameters
src: A URI containing the audio content. (DOMString)
mediaSuccess: (Optional) The callback that executes after a
Mediaobject has completed the current play, record, or stop action. (Function)mediaError: (Optional) The callback that executes if an error occurs. (Function)
mediaStatus: (Optional) The callback that executes to indicate status changes. (Function)
Additional ReadOnly Parameters
position: The position within the audio playback, in seconds.
Not automatically updated during play; call
getCurrentPositionto update.
duration: The duration of the media, in seconds.
Constants
The following constants are reported as the only parameter to the mediaStatus callback:
Media.MEDIA_NONE= 0;Media.MEDIA_STARTING= 1;Media.MEDIA_RUNNING= 2;Media.MEDIA_PAUSED= 3;Media.MEDIA_STOPPED= 4;
Methods
media.getCurrentAmplitude: Returns the current amplitude within an audio file.media.getCurrentPosition: Returns the current position within an audio file.media.getDuration: Returns the duration of an audio file.media.play: Start or resume playing an audio file.media.pause: Pause playback of an audio file.media.pauseRecord: Pause recording of an audio file.media.release: Releases the underlying operating system's audio resources.media.resumeRecord: Resume recording of an audio file.media.seekTo: Moves the position within the audio file.media.setVolume: Set the volume for audio playback.media.startRecord: Start recording an audio file.media.stopRecord: Stop recording an audio file.media.stop: Stop playing an audio file.
media.getCurrentAmplitude
Returns the current amplitude within an audio file.
Supported Platforms
Android
iOS
Parameters
mediaSuccess: The callback that is passed the current amplitude (0.0 - 1.0).
mediaError: (Optional) The callback to execute if an error occurs.
Quick Example
media.getCurrentPosition
Returns the current position within an audio file. Also updates the Media object's position parameter.
Parameters
mediaSuccess: The callback that is passed the current position in seconds.
mediaError: (Optional) The callback to execute if an error occurs.
Quick Example
media.getDuration
Returns the duration of an audio file in seconds. If the duration is unknown, it returns a value of -1.
Quick Example
media.play
Starts or resumes playing an audio file.
Quick Example
iOS Quirks
numberOfLoops: Pass this option to the
playmethod to specify the number of times you want the media file to play, e.g.:playAudioWhenScreenIsLocked: Pass in this option to the
playmethod to specify whether you want to allow playback when the screen is locked. If set totrue(the default value), the state of the hardware mute button is ignored, e.g.:To allow playback with the screen locked or background audio you have to add
audiotoUIBackgroundModesin theinfo.plistfile. See . Also note that the audio has to be started before going to background.order of file search: When only a file name or simple path is provided, iOS searches in the
wwwdirectory for the file, then in the application'sdocuments/tmpdirectory:
media.pause
Pauses playing an audio file.
Quick Example
media.pauseRecord
Pauses recording an audio file.
Supported Platforms
iOS
Quick Example
media.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.
Quick Example
media.resumeRecord
Resume recording an audio file.
Supported Platforms
iOS
Quick Example
media.seekTo
Sets the current position within an audio file.
Parameters
milliseconds: The position to set the playback position within
the audio, in milliseconds.
Quick Example
media.setVolume
Set the volume for an audio file.
Parameters
volume: The volume to set for playback. The value must be within the range of 0.0 to 1.0.
Supported Platforms
Android
iOS
Quick Example
media.startRecord
Starts recording an audio file.
Supported Platforms
Android
iOS
Quick Example
Android Quirks
Android devices record audio in AAC ADTS file format. The specified file should end with a
.aacextension.The hardware volume controls are wired up to the media volume while any Media objects are alive. Once the last created Media object has
release()called on it, the volume controls revert to theirdefault behaviour. The controls are also reset on page navigation, as this releases all Media objects.
iOS Quirks
iOS only records to files of type
.wavand.m4aand returns an error if the file name extension is not correct.If a full path is not provided, the recording is placed in the application's
documents/tmpdirectory. This can be accessed via theFileAPI usingLocalFileSystem.TEMPORARY. Any subdirectoryspecified at record time must already exist.
Files can be recorded and played back using the documents URI:
javascriptvar myMedia = new Media("documents://beer.mp3")Since iOS 10 it's mandatory to provide usage description in the
info.plistif trying to access privacy-sensitive data. When the system prompts the user to allow access, this usage description string will displayed as part of the permission dialog box, but if you didn't provide the usage description, the app will crash before showing the dialog. Also, Apple will reject apps that access private data but don't provide usage description.
This plugins requires the following usage description:
NSMicrophoneUsageDescriptiondescribes the reason that the app accesses the user's microphone.
To add this entry into the info.plist, you can use the edit-config tag in the config.xml like this:
media.stop
Stops playing an audio file.
Quick Example
media.stopRecord
Stops recording an audio file.
Supported Platforms
Android
iOS
Quick Example
MediaError Object
A MediaError object is returned to the mediaError callback function when an error occurs.
Properties
code: One of the predefined error codes listed below.
message: An error message describing the details of the error.
Constants
MediaError.MEDIA_ERR_ABORTED= 1MediaError.MEDIA_ERR_NETWORK= 2MediaError.MEDIA_ERR_DECODE= 3MediaError.MEDIA_ERR_NONE_SUPPORTED= 4
See Also:
Last updated
Was this helpful?