Mediaプラグインを使用して録音をさせようとしています。
iphoneでは動作したのですが、android(4.0.3)では録音ができていません。
permissionの追加が必要かと思ったのですが、Mediaプラグインにより自動でRECORD_AUDIO権限は自動で追加されるそうです。(config.xmlで追加すると落ちます)
Mediaオブジェクトの生成に問題がある、音声ファイルが認識できていないということも考えたのですが、再生はできています。
■コード
以下に関係する関数を記載します。
// 録音メディア var mediaRec = null; /** * Media生成 **/ var newMedia = function() { console.log("newMedia start"); if (mediaRec == null) { var index = location.pathname.lastIndexOf('/'); var src = null; if (monaca.isIOS) { src = location.pathname.substring(0, index + 1) + "audio/recordAudio/record.wav"; } else if (monaca.isAndroid) { src = location.pathname.substring(0, index + 1) + "audio/recordAudio/record.amr"; } mediaRec = new Media(src, // success function() { console.log("Audio Success"); }, // error function(err) { console.log("Audio Error: "+err.toString()); } ); console.log("newMedia 生成"); } console.log("newMedia end"); } /** * オーディオ録音 **/ var recordAudio = function() { console.log("recordAudio start"); // メディア生成 newMedia(); // オーディオ録音 mediaRec.startRecord(); // 指定秒後に録音停止 setTimeout(function(){recordStop();},100000) console.log("recordAudio end"); } /** * 録音停止 **/ var recordStop = function() { console.log("recordStop start"); // 録音停止 mediaRec.stopRecord(); console.log("recordStop end"); }
■実行結果
recordAudio時に初回はエラーも出ません。次回以降はエラーが発生します。
Audio Error: [object Object]
あなたの回答
tips
プレビュー