TadaoYamaokaの日記

山岡忠夫 Home で公開しているプログラムの開発ネタを中心に書いていきます。

音声スペクトルモニター(AudioSpectrumMonitor)のバージョンアップ

音声スペクトルモニター - Google Play の Android アプリを久しぶりにバージョンアップした。

けっこう前に公開して、少しバグを改修したくらいで、
しばらく放置していたがプログラミング熱が再開したので、
勢いにのって前々から追加したかった録音機能を追加した。

プログラミングに入る前に録音再生用のボタンのデザインとか配置とかに
けっこう悩んだ。

フリーのアイコンとか探してみたが、著作権表示とかしないといけないとか
制約があるので、結局自分で作ることに。

Androidの場合解像度別に画像を用意しないといけないのが結構めんどい。
ベクトル画像のsvgからバッチ処理で解像度別のpng画像を生成できないかと
調べてみたら、
Android - Inkscapeで描いた画像をpngにバッチ変換する - Qiita
ここでやり方が載っていたので参考にさせてもらった。
おかけで画像の準備の効率をあげることができた。

録音、停止、再生、一時停止をボタンで制御するのだが、
たった4種類のボタンだけでも、わりと状態管理が大変でバグりやすい。
まじめにやるなら状態遷移図とか書くのだろうけど、
動かして修正を繰り返してとりあえず動くようになった。
適当なテストしかしてないのでまだバグはありそうだけど。

Androidで音声の再生はAudioTrackを使用したが、
これがまた、AudioRecordと同じくAPIのドキュメントだけでは動きが予想しにくい。
直しては試してでまともに動くようになるまでけっこう時間がかかった。

他にも、ボーカル音程モニター - Google Play の Android アプリで実装した機能を
いくつか取り込んだりと今回は結構な修正を行った。


そんなこんなで週末丸2日、食事以外をほぼコーディングに費やしてやっと完成しました。



Google play 音声スペクトルモニター
音声スペクトルモニター
制作: TadaoYamaoka
評価: 4.0 / 5段階中
価格: 無料 (2015/6/15 時点)
posted by: AndroidHTML v3.1