Search docs/

Media

v5.0.2

Contents

インストール

Ionic Enterprise Editionのプラグインを利用する場合は、 通常のバージョンでスコープ指定されたプラグインに問題がある可能性があるため、 Ionic Enterprise Cordova CLIを使用していることを確認する必要があります。

npm uninstall -g cordovanpm install -g @ionic-enterprise/cordova

Ionic Enterprise Cordova CLIをインストールしたら、プラグインをインストールできます。

ionic enterprise register --key=YOURPRODUCTKEYionic cordova plugin add @ionic-enterprise/media

Index

Enumerations

Classes

Interfaces

Type aliases


Enumerations

MEDIA_ERROR

MEDIA_ERROR:

ABORTED

ABORTED: = 1


DECODE

DECODE: = 3


NETWORK

NETWORK: = 2


SUPPORTED

SUPPORTED: = 4



MEDIA_STATUS

MEDIA_STATUS:

NONE

NONE: = 0


PAUSED

PAUSED: = 3


RUNNING

RUNNING: = 2


STARTING

STARTING: = 1


STOPPED

STOPPED: = 4



Classes

Media

Media:

name: Media

description: This plugin provides the ability to record and play back audio files on a device.

usage:

import { Media, MediaObject } from '@ionic-enterprise/media/ngx';

constructor(private media: Media) { }

...

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

const file: MediaObject = this.media.create('file.mp3');

// to listen to plugin events:

file.onStatusUpdate.subscribe(status => console.log(status)); // fires when file status changes

file.onSuccess.subscribe(() => console.log('Action is successful'));

file.onError.subscribe(error => console.log('Error!', error));

// play the file
file.play();

// pause the file
file.pause();

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

// get file duration
let duration = file.getDuration();
console.log(duration);

// 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
const file: MediaObject = this.media.create('path/to/file.mp3');

file.startRecord();

file.stopRecord();

Some hints if you are using iOS and recording doesn't work: 1.) Try to use a absolute file path but remove beginning "file://". Then it looks like: /var/mobile/Containers/Data/Application/AF438B8B-7724-4FBB-8E69-083463224FC4/tmp/my_file.m4a Example: this.media.create(this.file.tempDirectory.replace(/^file:\/\//, '') + 'my_file.m4a') 2.) If that's not working, too, create the file before using. Example:

import { Media, MediaObject } from '@ionic-enterprise/media/ngx';
import { File } from '@ionic-native/file/ngx';

...

constructor(private media: Media, private file: File) { }

...

this.file.createFile(this.file.tempDirectory, 'my_file.m4a', true).then(() => {
  let file = this.media.create(this.file.tempDirectory.replace(/^file:\/\//, '') + 'my_file.m4a');
  file.startRecord();
  window.setTimeout(() => file.stopRecord(), 10000);
});

You can find the reasons here: https://github.com/ionic-team/ionic-native/issues/1452#issuecomment-299605906

classes: MediaObject

interfaces: MediaError

create

create(src: string): MediaObject

Open a media file

Parameters:

Name Type Description
src string A URI containing the audio content.

Returns: MediaObject



Interfaces

MediaError

MediaError:

code

● code: number

Error code


message

● message: string

Error message



Type aliases

MediaErrorCallback

Ƭ MediaErrorCallback: function

Type declaration

▸(error: MediaError): void

Parameters:

Name Type
error MediaError

Returns: void


MediaStatusUpdateCallback

Ƭ MediaStatusUpdateCallback: function

Type declaration

▸(statusCode: number): void

Parameters:

Name Type
statusCode number

Returns: void


Other Versions