ニコニコ動画で気になる動画がありました。
アプリの内容は動画を見てもらいたいのですが、これのAndroid版を作れないのかな、と思ってやってみました。
アプリとしては全く使い物にならないので、配布してみます。
問題があればすぐ削除します。
『アイマス専用音楽プレイヤーソフトforAndroid』ダウンロードページ
結論から言うと完成しませんでした。
開発中にいくつかの問題点が発生し、その要因がプログラムではなくAndroid端末仕様によるものであるため、解決が不可能(あるいは解決できてもかなりの工数がかかる)と判断したため、開発を断念します。
悔しい。
問題点1.メモリが圧倒的に足りない
最近のAndroid端末はメモリも増えてきたのでマシではありますが、ほとんどの端末では「オケ+12人分」の音声ファイルを同期させて処理するのはメモリ不足で難しいです。再生できても途中でフリーズしたり、変に遅延したりします。プログラム側で処理を軽くする対策を講じましたが、付け焼刃にしかなりませんでした。
問題点2.50MB制限の壁
Androidアプリは、「1アプリにつき容量が最大50MBまで」という制限があります。プログラム本体の容量は非常に小さいのですが、問題は音声ファイルです。
1曲実装するためには、「オケ+12人分」の音声ファイルで、だいたい25MBの音声ファイルが必要です。つまり、2曲もアプリに実装すると、それだけで50MBを超えてしまい、インストールできなくなります。
それを解決する方法として、「初回起動時に、アプリ内に必要なファイルをウェブからダウンロードして保存する」という方法があります(本格的なゲームアプリなどでよく見られる手法です)。しかし、その機能を実装しようとすると、アプリのソースの修正だけでなく、ウェブの構築なども必要になり、一気に工数と難易度が跳ね上がります。
問題点3.保存先の確保
では、頑張って問題点2を解決したとします。すると今度は、「ウェブから取得したデータをどこに保存するか?」という問題が発生します。
10曲分の音声ファイルを保存するとして、約250MBもの大容量のデータを、Android端末に保存するのは、果たして現実的でしょうか? 本体、またはSDカードに空き容量がない場合はどうするのでしょうか?
これを解決するには、アプリ側に、ファイル管理機能を付けなくてはいけません。選択的にどの曲をダウンロードしてくるかを決定し、すでにダウンロード済みの曲を任意に削除できるようにしなくてはなりません。
そこでまた工数と難易度があがります。
Android仕様要因ではない問題点.素材のありかが解らない
動画内でふんだんに使われている素材、あれ何なんですかね。どこでゲットしてきてるんですか? 軽く調べてみたのですが、見つかりません。
以上の要因から、開発は断念させていただきます。
悔しい、悔しいよー。
さっそうと完成させて、ニコニコにドヤ顔で動画あげたかったよー。
全ソース一式、Githubで公開しています。
作業時間:20時間くらい
[…] の端末では「オケ+12人分」の音声ファイルを同期させて処理するのはメモリ不足で難しいです。 [紹介元] アイマス専用音楽プレイヤーソフト」のAndroid版を作ってみたが完成しなかった […]