applican

マイページに戻る

Media ver.1.0

オーデイオの再生・バックグラウンド再生・停止・一時停止・解放・音量調整・録音を制御する事が出来ます。

アプリカンAPIのver.1.0系のMediaのリファレンスです

  1. アプリカンAPIのver.2.0系のMediaのリファレンスはこちらからご確認ください。

【対応ランタイムバージョン】

機能

利用用途

ゲームサウンド以外で音声を扱いたい場合(ミュージックプレーヤー等)、こちらの機能をご利用ください。

パラメータ

src : String パス情報を含むファイルの名をセットします。
successCallback : Function Mediaオブジェクトの作成後にCallbackされます。
errorCallback : Function Mediaオブジェクトの作成に失敗した場合にCallbackされます。
status : Function Mediaオブジェクトの作成後にステータスがCallbackされます。
flag : Boolean asynchronous: trueで非同期読込が可能。asynchronous: falseの際は非同期読込をしない。
未設定の場合はfalseに設定されています。

※メソッドを使用する前には必ずメディアオブジェクトを作成してください。

var media = new Media(String src, Function successCallback, Function errorCallback, Function statusCallback, Boolean flag);

メソッド

getCurrentPosition

メソッド説明

getCurrentPosition(Function successCallback, Function errorCallback)

現在の再生位置を取得します。

パラメータ

successCallback : Function 現在の再生位置を取得出来た場合にCallbackされます。
errorCallback : Function 現在の再生位置を取得出来なかった場合にCallbackされます。

Return

void

サンプルコード

var media = new Media(src, successCallback, errorCallback, statusCallback);

// 1秒ごとに再生位置を取得
var mediaTimer = setInterval(function () {
	// get media position
	media.getCurrentPosition(
		function (position) {
			if (position > -1) {
				console.log((position) + " sec");
			}
		},
		function (e) {
			console.log("Error getting pos=" + e);
		}
	);
}, 1000);

getDuration

メソッド説明

getDuration()

メディアファイルの再生時間(秒)を返します。

サンプルコード

var media = new Media(src, successCallback, errorCallback, statusCallback);

// メディアファイルの再生時間(秒)を取得
var counter = 0;
var timerDur = setInterval(function() {
	counter = counter + 100;
	if (counter > 2000) {
		clearInterval(timerDur);
	}
	var dur = my_media.getDuration();
	if (dur > 0) {
		clearInterval(timerDur);
		document.getElementById('audio_duration').innerHTML = (dur) + " sec";
	}
}, 100);

play

メソッド説明

play(Object options)

オーディオ・ファイルを現在位置から再生開始します。

サンプルコード

function playAudio(src) {
	var media = new Media(
		src,
		function () {
			var options = {
		        route: "receiver"
		    };
			console.log("playAudio():Audio Success");
		},
		function (err) {
			console.log("playAudio():Audio Error: " + err);
		},
		function (status){
			console.log("playAudio():Audio status "+ status);
		}
	);

	/*
	 * 音の発生場所を切り替えます。
	 * speaker  : 既定。端末の下のスピーカーから音を出します。
	 * receiver : 通話用スピーカーから音を出します。
	 */
	var options = {
		route: "receiver"
	};

	// 再生
	media.play(options);
}

playBackground

ビルド設定

iOSの場合は、プロジェクトのiOSアプリ設定の「音声のバックグラウンド再生」の「使用する」にチェックを入れて保存ボタンを押してください。

※機能を使用せずに「使用する」にチェックを入れている場合、リリース時にリジェクトされる可能性があります。

メソッド説明

playBackground()

通常はplay()で音声を再生しますが、playBackground()を使うと、アプリをバックグラウンドにした時も再生が継続されます。

サンプルコード

function playAudio(src) {
	var media = new Media(
		src,
		function () {
			console.log("playAudio():Audio Success");
		},
		function (err) {
			console.log("playAudio():Audio Error: " + err);
		},
		function (status){
			console.log("playAudio():Audio status "+ status);
		}
	);

	// オーディオファイルを再生
	media.playBackground();
}

stop

メソッド説明

stop()

再生中のオーディオを停止します。

サンプルコード

function playAudio(src) {
	var media = new Media(
		src,
		function () {
			console.log("playAudio():Audio Success");
		},
		function (err) {
			console.log("playAudio():Audio Error: "+err);
		},
		function (status){
			console.log("playAudio():Audio status "+ status);
		}
	);

	media.play();

	function pauseAudio() {
		if (media) {
			media.pause();
		}
	}

	// 停止
	function stopAudio() {
		if (media) {
			media.stop();
		}
		clearInterval(mediaTimer);
		mediaTimer = null;
	}
}

pause

メソッド説明

pause()

再生中のオーディオを一時停止します。

サンプルコード

function playAudio(src) {
	var media = new Media(src,
		function () {
			console.log("playAudio():Audio Success");
		},
		function (err) {
			console.log("playAudio():Audio Error: "+err);
		},
		function (status){
			console.log("playAudio():Audio status "+ status);
		}
	);

	media.play();

	// 一時停止
	function pauseAudio() {
		if (media) {
			media.pause();
		}
	}

	function stopAudio() {
		if (media) {
			media.stop();
		}
		clearInterval(mediaTimer);
		mediaTimer = null;
	}
}

release

メソッド説明

release()

ロード済みのオーディオリソースを開放します。

サンプルコード

var media = new Media(src, onSuccess, onError);

media.play();
media.stop();
media.release();

setVolume

メソッド説明

setVolume(Number volume)

ボリュームをセットします。

パラメータ

volume : Number セットするボリューム値を記述します。引数は0~100の値です。

サンプルコード

function playAudio(src) {
	var media = new Media(src,
		function() {
			console.log("playAudio():Audio Success");
		},
		function(err) {
			console.log("playAudio():Audio Error: "+err);
	});

	media.play();

	// 2秒後にボリュームを0にする
	setTimeout(function() {
		media.setVolume(0);
	}, 2000);

	// 5秒後にボリュームを100にする。
	setTimeout(function() {
		media.setVolume(100);
	}, 5000);
}

startRecord

メソッド説明

startRecord()

音声を録音する機能です。実装にはFileSystemAPIとの連携が必要です。

サンプルコード

//オーディオ録音
var media = null;
var filepath = null;

// applican の読み込み完了まで待機
document.addEventListener("deviceready", onDeviceReady, false);
// applican 準備完了
function onDeviceReady() {
	$(function(){
		$("#start").click(function() {
			applican.requestFileSystem(LocalFileSystem.PERSISTENT, 0, requestFS, onEr
		});
		$("#stop").click(function() {
			media.stopRecord();
		});
		$("#play").click(function() {
			media.play();
		});
	});
}
// FileSystemに記録
function requestFS(fileSystem) {
	fileSystem.root.getFile("recordMedia.m4a", {create: true, exclusive:
}

function startRecord(entry) {
	// Media
	media = new Media(entry.fullPath, onSuccess, onErrorMD);
	// 録音開始
	media.startRecord();
}

function onSuccess(){
	$("#message").val("onSuccess");
}
function onErrorDR(error){
	$("#message").val("device is error\ncode: " + error.code);
}
function onErrorFS(error){
	$("#message").val("fileSystem is error\ncode: " + error.code);
}
function onErrorMD(error){
	$("#message").val("new Media() is error\ncode: " + error.code);
}

stopRecord

メソッド説明

stopRecord()

録音を停止する機能です。実装にはFileSystemAPIとの連携が必要です。

サンプルコード

//オーディオ録音
var media = null;
var filepath = null;

// applican の読み込み完了まで待機
document.addEventListener("deviceready", onDeviceReady, false);
// applican 準備完了
function onDeviceReady() {
	$(function(){
		$("#start").click(function() {
			applican.requestFileSystem(LocalFileSystem.PERSISTENT, 0, requestFS, onEr
		});
		$("#stop").click(function() {
			// 録音停止
			media.stopRecord();
		});
		$("#play").click(function() {
			media.play();
		});
	});
}
// FileSystemに記録
function requestFS(fileSystem) {
	fileSystem.root.getFile("recordMedia.m4a", {create: true, exclusive:
}

function startRecord(entry) {
	// Media
	media = new Media(entry.fullPath, onSuccess, onErrorMD);
	// 録音開始
	media.startRecord();
}

function onSuccess(){
	$("#message").val("onSuccess");
}
function onErrorDR(error){
	$("#message").val("device is error\ncode: " + error.code);
}
function onErrorFS(error){
	$("#message").val("fileSystem is error\ncode: " + error.code);
}
function onErrorMD(error){
	$("#message").val("new Media() is error\ncode: " + error.code);
}