Media プラグイン
このプラグインを使用して、オーディオファイルの再生と録音を行います。
このプラグインの詳細は、 こちらの原文 ( GitHub ) をご確認ください。
このプラグインは、グローバルな Media コンストラクタを定義します。
グローバルスコープでは、deviceready イベントの発火後まで使用できません。
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(Media);
}プラグイン ID
cordova-plugin-mediaプラグインの追加方法
このプラグインを使用する場合には、Monaca クラウド IDE の [ Cordova プラグインの管理 ] 上で、Media プラグインを有効にします。
メディアオブジェクト
var media = new Media(src, mediaSuccess, [mediaError], [mediaStatus]);パラメーター
src: オーディオコンテンツを指し示す URI (DOMString)
mediaSuccess: ( 任意 )
Mediaオブジェクト側の再生・録音・停止処理が完了した後に、実行されるコールバック(Function)mediaError: ( 任意 ) エラーが発生した場合に、実行されるコールバック (Function)
mediaStatus: ( 任意 ) ステータスが変化したことを示すときに使用されるコールバック(Function)
mediaDurationUpdate: (任意) ファイルのデュレーションが更新され、利用可能になったときに実行されるコールバックです。(function)
Additional ReadOnly パラメーター
position: オーディオの再生位置 ( 秒単位 )
再生中、自動的には値を更新しないので、
getCurrentPositionメソッドを呼び、値を更新します。
duration: メディアの再生時間 ( 秒単位 )
定数
mediaStatus コールバックだけで使用されるパラメーターとして、次の定数があります。
Media.MEDIA_NONE= 0Media.MEDIA_STARTING= 1Media.MEDIA_RUNNING= 2Media.MEDIA_PAUSED= 3Media.MEDIA_STOPPED= 4
メソッド
media.getCurrentAmplitude: オーディオファイル内の現在の振幅を返します。media.getCurrentPosition: オーディオファイル内の現在の再生位置を返します。media.getDuration: オーディオファイルの再生時間を返します。media.play: オーディオファイルの再生を、開始または再開します。media.pause: オーディオファイルの再生を一時停止します。media.pauseRecord: オーディオファイルの録音を一時停止します。media.release: オーディオリソースを解放 ( release ) します。media.resumeRecord:オーディオファイルのレコーディングを再開します。media.seekTo: オーディオファイル内の再生位置を動かします。media.setVolume: オーディオ再生時の音量を設定します。media.startRecord: オーディオファイルの録音を開始します。media.stopRecord: オーディオファイルの録音を停止します。media.stop: オーディオファイルの再生を停止します。
media.getCurrentAmplitude
録音している音の振幅 ( amplitude ) を返します。
対象プラットフォーム
Android
iOS
パラメーター
mediaSuccess: 取得した振幅 ( 0.0 - 1.0 )を渡して実行するコールバック
mediaError: ( 任意 ) エラーの発生時に実行されるコールバック
例
media.getCurrentPosition
オーディオファイル内の現在の再生位置を返します。また、Media オブジェクト内の position パラメーターを更新します。
パラメーター
mediaSuccess: 現在の再生位置 ( 秒単位 )を渡して実行されるコールバック
mediaError: ( 任意 ) エラーの発生時に実行されるコールバック
例
media.getDuration
オーディオファイルの再生時間を、秒単位で返します。再生時間が不明の場合には、「 -1 」 の値を返します。
例
media.play
オーディオファイルの再生を、開始または再開します。
例
iOS 特有の動作
numberOfLoops: このオプションを
playメソッドに渡して、メディアファイルの再生回数を指定します。次に例を示します。playAudioWhenScreenIsLocked: このオプションを
playメソッドに渡して、画面にロックがかかった状態でも、再生を続行するか指定します。true( デフォルトはこちら ) に設定した場合、ハードウェア側のミュートボタンの設定を無視します。次に例を示します。
ファイルの検索順序: ファイル名のみまたは不完全なパス ( simple path ) を指定している場合、iOS では、最初に、
wwwディレクトリー内を検索して、見つからなければ、次に、アプリのdocuments/tmpディレクトリーを検索します。
Android 特有の動作
Android の新しいバージョンには、バックグラウンド処理を制限する積極的なルーチンがあります。
アプリがバックグラウンドにある間の継続時間をおよそ5分より長く取得しようとする場合、コンストラクタのmediaDurationUpdateコールバックを使用することで、より一貫した結果を得ることができます。
media.pause
オーディオファイルの再生を一時停止します。
例
media.pauseRecord
オーディオファイルの録音を一時停止します。
対象プラットフォーム
iOS
例
media.release
オペレーティングシステム側のオーディオリソースを解放 ( release ) します。特に、Android では、メディア再生に割り当てることができる OpenCore インスタンスの数に限りがあるため、解放処理は重要となります。Media リソースが不要になった場合には、release メソッドを都度呼び出すことを推奨します。
例
media.resumeRecord
オーディオファイルの録音を再開します。
対象プラットフォーム
iOS
例
media.seekTo
オーディオファイルの再生位置を指定します。
パラメーター
milliseconds: オーディオの再生位置を、ミリ秒単位で指定します。
例
media.setVolume
オーディオファイルの音量を指定します。
パラメーター
volume: 再生時の音量を指定します。0.0 から 1.0の間で、値を指定します。
対象プラットフォーム
例
media.startRecord
オーディオファイルの録音を開始します。
例
Android 特有の動作
Androidデバイスは、オーディオをAAC ADTSファイル形式で記録します。指定されたファイルは
.aac拡張子で終わる必要があります。Media オブジェクトが存続する間は、ハードウェア側の音量設定は、オブジェクト 側の音量設定と紐付けされています。直近で作成した Media オブジェクトに対して、
release()が呼ばれた場合、音量設定は、システム側のデフォルトの設定に戻ります。また、ページ遷移を行った場合も、設定はリセットされます ( 遷移時に、すべての Media オブジェクトが解放されるため )。
iOS 特有の動作
iOSは
.wavおよび.m4aタイプのファイルにのみ記録し、ファイル名の拡張子が正しくない場合はエラーを返します。フルパス ( full path ) を指定しない場合、アプリの
documents/tmpディレクトリーに、録音ファイルが置かれます。このファイルへのアクセスには、ファイル操作API ( File API ) を使用します (LocalFileSystem.TEMPORARYを使用 )。録音時にサブディレクトリーを使用する場合には、事前に作成しておく必要があります。「 documents:// 」 形式の URI を使用して、ファイルを録音・再生できます。
iOS 10以降、プライバシーに関連するデータにアクセスする場合は、
info.plistに使用の説明を設定することが必須になります。アクセスを許可するようにシステムに指示すると、この使用の説明はアクセス許可ダイアログボックスの一部として表示されますが、使用の説明を入力しない場合は、ダイアログが表示される前にアプリが強制終了します。また、Apple は個人データにアクセスするアプリをリジェクトしますが、使用の説明は提供していません。
このプラグインでは、次の使用の説明が必要になります。
NSMicrophoneUsageDescription は、アプリがユーザーのマイクにアクセスする理由を記述します。
これらの設定を info.plist に追加するには、config.xml ファイルの <edit-config> タグに以下のように設定します。
media.stop
オーディオファイルの再生を停止します。
例
media.stopRecord
オーディオファイルの録音を停止します。
例
MediaError Object
エラーが発生した場合、mediaError コールバック関数へ MediaError オブジェクトが渡されます。
プロパティ
code: 次のエラーコードのいずれか
message: 詳細を示したエラーメッセージ
定数
MediaError.MEDIA_ERR_ABORTED= 1MediaError.MEDIA_ERR_NETWORK= 2MediaError.MEDIA_ERR_DECODE= 3MediaError.MEDIA_ERR_NONE_SUPPORTED= 4
最終更新
役に立ちましたか?