という訳で、ver0.05。
今回は大分弄った。
・UIボタン変更
・曲情報表示
・シークバー追加
・prev track追加(今までただの手抜き)
・アルバム内でトラック再生順のシャッフルを追加
・レジューム機能追加
・Bluetooth制御オプション追加
・アイコン
# 因みに今まで何も考えてなかったけど、動作確認の都合上GB(2.3)以上限定ですよ。
# その後ICS(4.0)化してしまったのでそのGBも実際どうだか分かりませんが、、。
以下ずらずらと、
・UI関係
まぁこんなんですけどね。必要最低限を詰め込んでみた。ボタンアイコンはフリー素材。
個人的には十分満足してたんだけど、やっぱりこうして見るとしょっぱいね(笑)。
ICSになったのでholoテーマにも出来たんだけどデフォルトのボタン形状がおいしくなかったのでやめた。layoutは何かとめんどい。
シークバーは横一杯に広げたら端っこが触れなくて縮めざるを得なかったり、テキストはなるべく多く情報が表示されるように調整したけれどここは機種依存で大きく崩れそう。広げるだけ広げて残りを省略にしたいところだけれど、省略設定時は最大段数を指定しないといけないんだよね。やっぱmarquee(スクロール表示)の方が無難なんだろうなぁ、あまり好きじゃないので避けましたが。(コレとか色々な意味で酷い(笑))
因みにmarqueeはfocusable設定が肝みたいね。
・prev track
手抜きでしたので。ただそのアルバムの先頭までにしか戻りません。
prev albumも出来るんだけど、ちょっと考慮しないといけない点があるので保留。
・トラック再生順シャッフル
どうも1日に聞く量が1アルバムに満たなくて前半だけ聞いて終わるケースが多かったので、いっそトラック順もランダムにしてみることに。もう普通に全曲ランダムでいいんじゃないかと言われそうな気もしてきましたが、アルバムセットで同タイプの曲がランダムに流れてくるのがいいかなということで。
・レジューム機能
今まではserviceが殺されるまでの命だったけれど、きちんとレジュームするようにした。
一応、各操作のタイミングと曲の切り替わりで状態保存を行っているので、不正に落ちない限りは問題ないと思うけど、思わぬ抜けがないかいじめ甲斐がありそうですね(ぉ)。
・Bluetooth操作
BT操作用のメディアレシーバの登録はどういうルールにするのが良い作法なのかいまいち分からず。再生時に登録するのは良いけど、普通はpauseまでしかしないので解除=終了のタイミングが分からない。service終了はほぼイコール強制終了だからdestroy走らないし、まぁBT切断時に解除ってことでいいのかなぁ。この辺、一度は弄ったんだけど最終的には以前までの仕様に戻った感じ。ただBluetoothそのものを使うか使わないかのオプションを追加してみた。
・アイコン (!)
まぁわざわざ人に見せるアプリじゃないけれど、話の種になる時に流石にアイリのままでは厳しいので、名残惜しくも変更することにした。
ネット上から適当なフリー素材を拾ってきて加工、したんだけどイマイチ面白くなくて、つい魔が差してやっぱりアイリを画像内に忍ばせちゃいましたよ。昨今流行(?)のステルスってことで(違)。この大きさならまず言わないと分からないから大丈夫。大きくするとバレバレですけどね。(なんか若い頃に作ったlainの壁紙を思い出しましたよ(ぉ))
いやホントは、shuffleを意味する記号を入れるのが先なんですけどね。
あとアイコンと言えば(service強制終了防止用の)notificationのそれはサンプルから丸パクリ。ICSからアイコンサイズも変わってるらしくて、色々なアプリが残念なことになっているという。めんどくさいね。
そんなこんなで。
今回はもう日が経ちすぎて何が良くて何が悪かったかも思い出せず、そのまま弄って更にやっつけの継ぎ接ぎ状態なのでいつも以上にバグがおっかないですが。まぁ気付いたバグはそれなりに潰したつもりだけどね。
一応、最低限の機能は乗った気がするので、この先どうなるかな。
ここから先は既存プレーヤのクローンの世界になってしまうので、ぶっちゃけ、デフォルトのプレーヤーで十分と思うと気が重い。