Tuesday, November 18, 2014

Ampache setting check point

1.Did you click Save in the upper right corner of the check button after checking the connection?


2. Whether authentication is successful of Ampache?
Successful it has become the Connected If you are.
connfig
3.Menu of Ampache has been added to NavigationDrawer?
Drawer will appear to slide from left.

Monday, November 17, 2014

新しいJust Playerをリリースしました

約1年近くかけてアプリを再実装し、新しくJust Playerを作り直しました。
このアプリは、Android2.1が発表された当時、時期的には私がXperiaX10を購入した際に、自分で音楽アプリを作ってみたいという気持ちからはじまったものです。
アプリを通じて私自身のAndroidへの理解を深めることを目的としていたため、音楽プレイヤーに本来必要でもないようなものも積極的に実装してみたりとあまりユーザのことを考えていないわがままなアプリだったと思います。
Just Playerの名前は「ただのプレイヤー」という意味を込めたつもりです。
つまり、最高のプレイヤーではなく、単純に音がなればいいでしょ、てきなものでした。
それでも、ユーザ数が増えてくるにつれ、ユーザがどのような機能を欲していて、どういいうアプリであれば使いやすいのかということを考えるようになってきました。

現在、ただ音がなるだけでなくJustPlayerの代名詞はクラウドデータを再生することが目的になっています。
これは本来の目的ではなかったのですが、そういうことになったならそうしましょう。ということで、新しく作成するJust Playerはクラウドのデータを再生することを主眼に置いて作りなおしました。

クラウドのデータは、サービスによってデータの持ち方が異なります。なのにユーザによっては複数のクラウドで使い分けをしている場合もあるとおもいます。
なので、どのクラウドでデータを管理していても、全部同じように使えることを目標にしました。
そして、新しいJust Playerではプレイリストには複数のサービスのことなるデータをまとめていれることができます。

それから、音楽データの管理方法はユーザによって様々です。
これは賛否両論があるとはおもいますが、アプリ側が決めつけたデータの管理方法も必要だとはおもいます。しかし、私の考えではユーザが自分で管理しているデータをそのままつかえることのほうが大切だとおもっています。

そのため、新しいJustPlayerは基本としてはフォルダ階層で管理されたデータをそのまま表示し、そこから再生できるようにしています。

しかし、この状態だと、検索もできないし、並び替えもできないです。
なので、アプリ側でも音楽へのアクセスを1画面だけ準備しています。
必要最低限ですので、他のアプリと比較して物足りないところもあるとおもいますが、一番使うであろう画面にしましたので理解はしやすいと思います。

次に再生についても見直しました。
シャッフル再生、リピート再生、ギャップレス再生、クロスフェード再生、タグ編集、歌詞表示と、当たり前のことが最低限できるようにしました。

それと、新しい機能として、ブックマーク機能をいれました。
これはまだ全てが完成していませんが、最小の機能だけ実装しています。
このブックマーク機能は音楽の一部の部分を一つの音楽として抜き出しプレイリストに追加することができる機能です。
考えられる使い方は、60分とか90分という長い曲の頭出しに使えますので、英語の勉強や、クラシックの頭出し等に便利だと思います。

だいたい、こんなかんじです。

古いJustPlayerでは出来ていたことが新しいJustPlayerでは出来なくなっている機能もあります。
これは、私個人の主観であまり必要ではないだろうという判断で削除されました。
もしその削除された機能のうちどれかが重要だったというのであれば、遠慮なく私にリクエストしてください。

JustPlayerは今後もユーザの意見をとりいれ、さらに変化させていくアプリでいたいと思います。







Friday, November 14, 2014

最終ベータをアップロードしました

リリース前の最終ベータをアップロードしました。
バージョンは2142000067です。

リリース前になりましたので、いくつかの機能が有料になっています。

有料になった機能
GoogleDrive、Dropbox、Boxへのアクセス
それから、アドバンス設定
これらはそれぞれ300円です。
また、一括で解除できるサービスパックとして1000円のものも準備しています。

それと、古いJUST PLAYERで既に寄付をしていただいているユーザに対しては、GoogleDrive,Dropbox,Boxを無料で使えるようにしています。

いくつか有料になりましたが、JustPlayerは基本機能だけで、音楽の再生から、クロスフェード、アルバムアートの検索、タグの編集といったことが広告なしで使えますので普通に利用する分にはお金を払う必要はないと思います。
あと、個人的にAmpacheが好きなのでこれは無料になっています。

2,3日状況をみて問題がなければこのままリリースになります。

あと今回のバージョンで新しく追加された機能として、
MP3に対して、タグ情報、アルバム情報を保存できるようにしました。
あと、いくつかUIを最適化しています。

Thursday, November 6, 2014

ベータ版バージョン2142000064をアップロードしました

毎回思うんだけど、今回のバージョンが一番良いのでしばらく修正はしなくてもいいだろう。
とおもうんだけど、毎回、前のバージョンは最悪、さっさと更新しないといけない。

とおもってしまうのはなんでですかね、、やっぱりテストが不十分なのが問題なのか、、なのか。

さて、今回のバージョンから一部のユーザにとって待望の歌詞表示機能が追加されました。
歌詞は、MP3に限られますがMP3のヘッダ情報にかかれている歌詞データを読み取って表示しています。
しかし、歌詞にはいくつかフォーマットがあるのですが、それら全てに対応しているわけではありません。
2つ程対応しました、多分メジャーだとおもう。もしこのフォーマットが読めないのでなんとかしてほしいという要望があれば、私までご連絡ください。
その際には、どの環境のどのツールで作成しましたということも合わせてご連絡頂きたいです。

それと歌詞の編集機能ですが、JustPlayer上では編集ができるようになっています。
だけど編集された歌詞情報はMP3には保存していません。
これはタグ情報や、アルバムアートも同じですが、オリジナルのファイルを書き換えることをしても良いのか?またそうして壊れた場合どうすればいいのか?そういうことを考えると余計なことをしたくないというのが本音です。

だけど、それだと不便という人もいるとおもうので、有料になるとおもうのだけど、あとで追加する予定です。



Tuesday, November 4, 2014

歌詞表示を実装してみた

MP3から歌詞を取得できるようになったので、早速実装してみた。
実装するにあたり、どこで歌詞の表示を切り替えるか、検討してみた結果画面下部にドロワーを設定し、そこで表示の切り替えを行うことにした。
歌詞を表示している画面(時間表示のバランスが悪いので要検討)

画面下部から引き出したメニューにより歌詞の表示を切り替える
ドロワーにはスペースがあるので、ついでに、イコライザやクロスフェードといった機能の有効、無効ができるボタンも追加した。

とりあえず表示ができただけなので、次はタグ編集画面で歌詞を設定できるようにするようにし、そこまでできたらストアにアップロードする予定です。
しばらく様子をみたいので、正式リリースはもうちょい先です。



Monday, November 3, 2014

ベータ版2142000061をアップロードしました

しばらく、Google+のほうだけに情報を公開していたたため、ここだけをみている人にとっては、ずいぶん更新をしていないかと思われたかもしれません。
ちゃんと開発をしています。
ビルドバージョンはずいぶん進んで61になりました。
ちなみに、このビルドバージョンの意味は
2142000061の2はこちらの管理番号つづく、14は最小のSDKのバージョン番号、そして20はターゲットにしているSDKのバージョン番号、そっから0が続いて、61がビルドにつけているナンバリングです。
だいたい、PlayStoreにアップする度にカウントアップしているので61回アップデートしたことになりますね。。長い



Friday, October 17, 2014

CrossFadeができる端末とできない端末がある

ユーザの要望でクロスフェード機能を実装してみたのですが、この機能のためいくつか犠牲になっているものがあります。
そのまえにクロスフェードとはどういう機能なのかというと、曲の終わりをフェードアウトし、次の曲のはじまりをフェードインすることを同時に行う機能です。
JUST PLAYERはクロスフェードの設定を有効にすると、曲の終了6秒前にフェードアウト処理にはいり、同時に次の曲をフェードインします。
いまのところ6秒固定になっています。
この数値を変更出来るようすることは可能ですが、いまのところ変更するUIを実装していません。マニアックな機能なので特に必要だとはおもっていませんが、もし要望があれば検討したいです。

実際の実装方法は、2つのMediaPlayerを準備し、片方の時間をチェックし、6秒前にはいったら、次の曲を再生するという単純な方法なのですが、これをつかうことで、一時的ではあってもMediaPlayerのインスタンスを2つ準備しなければなりません。
これは、ギャップレス再生でも必要な処理なのでこれ自体は問題ではないのですが、ギャップレス再生とは異なり、違うボリュームをそれぞれに適用する必要があるためAudioSessionIDを共通化することができなくなります。
つまり、AudioEffectも別々になるというわけです。
この問題は、これまで何度MediaPlayerを作りなおしてもAudioSessionIDを共通化しておけば、AudioEffectは共通でつかえていたものが使えなくなったことになります。
そのおかげで、Equqlizerの処理、Visualizerの処理といったAudioSessionIDをもとにインスタンスを生成していた処理の扱いが面倒になってしまいました。
いろいろ、苦労はあったものの今のところなんとか、うまく動いている状態までもってこれました。(手元の最新版において)

しかし、完璧というわけではなく一部の端末では、MP3ファイルを同時に再生するとStartが実行されない問題がおきています。
具体的にいうと、Nexus5さん。

これは個体差があるのかもしれませんが、2台の端末で同じ現象を確認しています。
簡単なサンプルプログラムを作ってもやはり同じ現象がおきるので、MediaPlayer自体に問題があるのではないかと思っています。