Tutorial

音声を録音するには

音声を録音するには、Javascriptを記述します。
FileSystemオブジェクトとMediaオブジェクトの組み合わせで実現出来ます。

Javascript

<a id="object">オブジェクト</a><br />
<a id="release">解放</a><br />
<a id="record">録音</a><br />
<a id="stop">停止</a><br />
<script type="text/javascript" charset="utf-8" src="/Joomla/applican-0.12.2.js"
<script type="text/javascript" charset="utf-8"><!--
(function() {
    object = function object() {
        //レコーダーオブジェクト作成用メソッド呼び出し
        applican.media.createMediaRecorder("file://...", objectSuccess, objectFailure);
    };

    //レコーダーオブジェクト作成成功時のコールバック
    function objectSuccess(result) {
        recorder = result;
        alert("success");
    }
    //レコーダーオブジェクト作成失敗時のコールバック
    function objectFailure(error) {
        alert(error);
    }

    var recorder;

    release = function release() {
        //レコーダーのリソース解放用メソッド呼び出し
        recorder.release(releaseSuccess, releaseFailure);
    };

    //レコーダーのリソース解放成功時のコールバック
    function releaseSuccess() {
        alert("success");
        recorder = null;
    }
    //レコーダーのリソース解放失敗時のコールバック
    function releaseFailure(error) {
        alert(error);
        recorder = null;
    }

    record = function record() {
        //ファイルシステムを取得
        applican.requestFileSystem(LocalFileSystem.PERSISTENT, 0, requestRecordingFilesystemSuccess, requestRecordingFilesystemError);
    };

    //ファイルシステムを取得成功時のコールバック
    function requestRecordingFilesystemSuccess() {
        //録音を開始用メソッド呼び出し
        recorder.record({}, recordSuccess, recordFailure);
    }
    //ファイルシステムを取得失敗時のコールバック
    function requestRecordingFilesystemError() {
        alert("error");
    }

    //録音を開始成功時のコールバック
    function recordSuccess() {
        alert("success");
    }
    //録音を開始失敗時のコールバック
    function recordFailure(error) {
        alert(error);
    }

    //録音を停止用メソッド呼び出し
    stop = function stop() {
        recorder.stop(stopSuccess, stopFailure);
    }

    //録音を停止成功時のコールバック
    function stopSuccess() {
        alert("success");
    }
    //録音を停止失敗時のコールバック
    function stopFailure(error) {
        alert(error);
    }

    /********************* イベント登録 *********************/
    document.addEventListener("deviceready", function() {
        // 「オブジェクト」ボタン押下処理
        document.getElementById("object").addEventListener("touchend", object, false);
        // 「解放」ボタン押下処理
        document.getElementById("release").addEventListener("touchend", release, false);
        // 「録音」ボタン押下処理
        document.getElementById("record").addEventListener("touchend", record, false);
        // 「停止」ボタン押下処理
        document.getElementById("stop").addEventListener("touchend", stop, false);
    }, false);
})();
//-->
</script>

解説

プラットフォームの準備が完了してから、Aタグにオブジェクト作成、リソース解放、録音開始、録音停止のクリックイベントを割り当てています。
録音開始がクリックされたらfileSystem にファイルの作成と、そのファイルに対してMediaオブジェクトを生成し、recorder.recordメソッドで録音を開始しています。
停止、解放はそのMediaオブジェクトのメソッドを利用します。

会員登録(無料)はこちらから