素人のアンドロイドアプリ開発日記

MediaRecorder周りで少し改善する。

2012.05.26

今回はMediaRecoreder周りで少し、自分でわかった事があったので、

音声を使って楽しげなものを作りたい。簡単な録音

で書いていた分でしたが、今回はちょっとプラスで書かせてもらいます。

 

■mp3に変換したい

mp3という形式が一般には有名で、多くの人もこの形式を望んだりしますが、この形式にするには現状のアンドロイドではデフォルトで用意されていません。

いろいろなサイトをみた結果、一応、音のデータを取得して、劣化なしのwavの形式などにできるので、そのwavのまま、NDKという、c#が使える方法があるのですが、ネイティブコードと結構表現されたりしますが、

c#ではwav形式をmp3に変換するライブラリがあって、それを利用しましょう。っていうのが、現在のところ、唯一の方法でした。mp3に変換するjavaのライブラリもありそうですが、音関係の情報は一般的に多くなくわりと大変でした。

なので、僕はあきらめました。この報告ですが、割りと探せばありそうな気がしたので、1日を無駄にして、この結論に至ったとの報告です。

絶対な条件だったり、ndkに親和性があればやってもいいかな。とおもいます。

 

■音質が悪い。

次ですが、以前の方法で、音を取得していたのですが、どうも音質が悪い。

recorder.setAudioSamplingRate

という関数がandroidの2.2~で利用ができるのですが、ここの値が8000だと大丈夫ですが、44100にするとエラーで落ちてしまいました。

というか、デフォルトの値は8000だから音質が悪い。という感じもしますが、ここの値を変更する際には、

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

のようにencoderをDEFAULTにしていたのをAACに変更してあげます。

そうすると、エラーも起きないで、高音質な録音が可能でした。

一応、8000,16000,22050,44100あたりが標準でサポートされてくれる値なので、44100で容量が重くなってしまうなどで、懸念があれば、22050あたりで音質を少し減らしてもいいと思います。

 

自分で実際に試したところ、音質の違いが大きすぎてびっくりしました。

ぜひ、お試しください。

 

 

同じカテゴリの記事を紹介します

音声を使って楽しげなものを作りたい。簡単な再生音声を使って楽しげなものを作りたい。再生をする。音声を使って楽しげなものを作りたい。簡単な録音音声を使って楽しげなものを作りたい。録音をする。音声を使って楽しげなものを作りたい。AudioTrack研究音声を使って楽しげなものを作りたい。AudioRecord研究

カテゴリー:

公開中のアプリ、是非ダウンロードしてみてください

2chまとめのたね

RSSを利用してさまざまなブログの情報をキュレーションしてくれるアプリ

インストールする

ひらがな戦記

OPENGL ES2 を利用したカルタのソーシャルゲーム

インストールする