PhoneGapで録音する場合、Mediaを使用します。
http://docs.phonegap.com/en/1.1.0/phonegap_media_media.md.html#Media
以下、Androidでの話です。
var media = new Media("xxx.mp3");
とすると、録音ファイル名はxxx.mp3になります。
ただ、厳密にはSDカード直下にテンポラリファイルとして録音。
録音完了後に正式なファイル名(上の例ですとxxx.mp3)にリネーム。
としているようです。
録音停止直後にJavascriptからAndroid側のメソッドを呼び出してxxx.mp3にアクセスする処理を
書いていたのですが、まだリネーム中なのか、xxx.mp3が存在しないケースが有りました。
(存在するケースも有りました。)
PhoneGap側を以下のように書きなおすと、この問題は収まりました。
media = new Media("xxx.mp3", onSuccess);
onSuccessは録音成功時に呼び出されるJavascriptの関数名になります。
onSuccessの中で、Android側のメソッドを呼び出すように修正しました。
No comments:
Post a Comment