|
|---|
HTMLやCSS、JavaScriptでスマートフォンアプリを開発できるフレームワーク「PhoneGap」。PhoneGapでは、通常のWebアプリでは実現できない、スマートフォンならではの機能を使ったアプリも作れます。今回は、iPhone用のボイスレコーダーアプリを作ってみましょう。
PhoneGapで音声を録音するには、W3Cで仕様策定中のCapture APIと、Phone Gap独自のMedia APIの2つの方法があります。Capture APIを使うと専用のUIに切り替わりるので、JavaScriptでは録音と再生しか処理できません。一方、Media APIでは、通常のWebページの中に録音・再生機能を埋め込んでアプリを作れます(ただし、現行バージョンではまれに録音が途切れることがあります)。今回は、Media APIを採用します。
なお、録音処理はiOSシミュレーターでは動作しませんので、必ず実機を接続して動作を確認する必要があります。本サンプルでは一度録音したファイルを削除していないので、何度も録音を繰り返すとストレージの空き容量を圧迫します。録音データを削除したい場合は、iPhone/iPadに入れた本アプリを一度削除してください。
録音もMedia APIで
Media APIは前回、音楽を再生するのに使用したAPIです。
Media APIは音楽を再生するだけでなく、録音もできます。ただし、Android OSとiOSでは以下のように使用するメソッドが異なります。
| Androidの場合 | iOSの場合 | |
|---|---|---|
| 録音開始 | startRecord() | startAuidoRecord() |
| 録音終了 | stopRecord() | stopAuidoRecord() |
PhoneGap 1.1.0のドキュメントでは、iOSの場合、「あらかじめ録音するファイルが存在しなければならない」とありますが、実際に試してみると、ファイルを用意しなくても、new Media()で正しいパス+ファイル名でオブジェクトを生成すると録音できます。
また、PhoneGapに関する解説ページで、navigator.notification.activityStart()やnavigator.notification.activityStop()が記述されている場合がありますが、これらのメソッドはすでに廃止予定になっており、0.9.6以降では書かなくても動作します(下位互換性のため、このメソッドを記述しても動作には影響ないようです)。
ソーシャルリアクション
この連載の記事
- 第82回 iOS 5で使えるWeb Workersでカメラアプリ作ってみた
- 第81回 iBooks AuthorでHTML5の電子書籍作ってみた
- 第80回 iOS 5の新機能で作る「パノラマビュー」アプリ
- 第79回 CanvasとPhoneGapで作るiPhone用落書きアプリ
- 第78回 PhoneGapでiPhoneのコンパスアプリを再現
- 第77回 もうFlashは要らない!?スマホ用CSS3アニメを作ろう
- 第76回 iPhoneでも動くアニメが作れるSencha Animatorの使い方
- 第75回 CSS3でFlash並みアニメが作れるSencha Animator
- 第74回 Capture APIでiPhone用ビデオレコーダーを作ろう
- 第72回 PhoneGapのMedia APIでバイブ付き音楽プレーヤー
- この連載の一覧へ
















![Microsoft Windows7 Home Premium 64bit 日本語 DSP版 + メモリ [DVD-ROM] Microsoft Windows7 Home Premium 64bit 日本語 DSP版 + メモリ [DVD-ROM]](http://ascii.jp/img/amazon_noimg70.gif)





