Friday, January 9, 2015

バージョン2142000091をリリースしました

バージョン2142000091をリリースしました。

今週二度目のリリースなので申し訳ないです。 
しばらく仕事で忙しくなるので、今回のアップデートから次のアップデートまでは時間が開くとおもいます。(どうしても我慢できなバグが発覚したらすぐに修正します。)
とはいっても一ヶ月以上も間隔は開けたくはないと思っています。 

今回のバージョンアップで主な修正は「後で聴く」機能の追加です。
これは以前から待望されていた事前ダウンロード機能です。 
再生に影響がないように、再生中の曲がバッファリングしているときはダウンロードは一時停止するようにしています。
あと、次の曲のバッファリングは優先順位を高くするといった動きをします。 

ネットワークによってダウンロードの制御もいれたいところですが、今回のバージョンではそこまでの作り込みはしていません。 

それと、再生リストに追加時に自動で「後で聴く」に登録する機能も有料オプションになりますが追加しています。
あんまり調子にのって登録しまくると端末の容量がすぐいっぱいになるので気をつけてください。 
将来的にはキャッシュの自動削除機能を追加したいので、それまではこまめに手動で削除して欲しいです。

ちなみに、設定のキャシュ削除だと一括で全部削除しますが、キャッシュ一覧からだと選択して削除できます。

Wednesday, January 7, 2015

再生状態変化によるアプリ連携について

AppWidget等にわたすIntentに以下のような値を設定するようにしました。

Intent broadcast = new Intent(AppWidget1.ACTION_CALL_UPDATEWIDGET);
            broadcast.putExtra("play.state", mIsPlaying);
            broadcast.putExtra("artist", mTrack.getArtist());
            broadcast.putExtra("title", mTrack.getTitle());
            broadcast.putExtra("album", mTrack.getAlbum());
            broadcast.putExtra("duration", mTrack.getDuration());
            broadcast.putExtra("albumArt", mTrack.getAlbumArt());
            broadcast.putExtra("data", mTrack.getUri());
            if(notificationIconBitmap!=null) {
                broadcast.putExtra("artImage", notificationIconBitmap);
            }

            //AppWidget
            Intent broadcast = new Intent(AppWidget1.ACTION_CALL_UPDATEWIDGET);
            broadcast.putExtra("play.state", mIsPlaying);
            broadcast.putExtra("artist", mTrack.getArtist());
            broadcast.putExtra("title", mTrack.getTitle());
            broadcast.putExtra("album", mTrack.getAlbum());
            broadcast.putExtra("duration", mTrack.getDuration());
            broadcast.putExtra("data", mTrack.getUri());
            if(notificationIconBitmap!=null) {
                Uri albumUri = makeAlbumImage(notificationIconBitmap);
                if(albumUri!=null) {
                    broadcast.putExtra("albumArt", albumUri);
                }
            }

このIntentは再生開始時と再生停止時に呼ばれます。
play.stateにtrueがはいっているときは再生中、falseは再生停止です。
それと、"artImage"に設定されたBitmapはNotificaitonに設定されたBitmapです。
albumArtはそのイメージへのURIですがHTTPではなく独自スキーマがはいっているのでご注意ください。

Bitmapを設定すると、サイズが大きいとエラーになったので、一旦テンポラリに保存してそのUriを渡すようにしました。キーの値はalbumArtなのでご注意。テンポラリの画像は次の再生とかキャッシュのクリアなので削除されるのでそのつもりで。

「べ、別におまえに渡すために設定したんじゃないからねーからな!
せっかく取得したのに、もったいねーから設定しておいただけ勘違いすんな。
と、とにかくだ、 artImageを取得すれば簡単に曲のBitmapが取得できるってことだけ覚えてくれたらいいんだよ。
あと、artImageはいま実装したばっかりだからベータ版(2142000090 2142000091)でないとつけないかんな。」




Tuesday, January 6, 2015

バージョン2142000089をリリースしました。

Just Playerのバージョン2142000089をリリースしました。

主な修正は以下のとおりです。
* a2dp対応のBluetoothヘッドフォンに対応
* AmpacheのAlbumArtが表示されなくなる不具合を修正
* シークバーの位置が一時停止後0になる不具合を修正
* ツールバーがときどき消える不具合を修正
* ホームに追加をメニューから選択できるように修正
* PlayStoreに報告が上がっているいくつかのエラーの修正
* Boxをメイン画面に設定するとログインが無限に表示される不具合を修正

今回大きな修正は、A2dpなBluetoothヘッドフォンの対応です。
これまでもペアリング済みのBluetoothヘッドフォンで曲の一時停止、再生といった操作はできていましたが、ペアリングが解除されたり、ヘッドフォンの電源がOffになった場合自動で一時停止されないし、また再接続時に自動で再生がされませんでした。
新しいバージョンでは再生されるようになっています。
それから、早送り、巻き戻しも対応しておきました。