比治山工房 android

English
Marasong 当たり前に使える音楽プレイヤー

MaraSongs

公認アンドロイドアプリ AndroidView 「延々続くこと」を示す言い回しの一つにmarathonという単語が出てきた事があり、延々と再生を続けるミュージックプレイヤーの名前としてこの造語を思いつきました。 たとえマラソンランナーがBGMに使っても、立ち止ってアルバムの選択をし直さなくても良いプレイヤーを作成します。

このアプリは

1.当たり前に使えるミュージックプレーヤーです

長年使った第4世代のiPodからAndroidへの置き換えを目指しますので...
まずは

歌詞表示

音楽ファイルに設定された歌詞を読み出します。
  • 読取れるのは.mp3のID3タグとaacです。
ジャケットアートの表示部を横方向にフリックすれば表示します。
lyric
表示された歌詞の画面をロングタップするとweb画面を使った全画面を表示します。
lyricWeb

全曲連続再生

アルバム1枚分の再生が終われば、そのアーティストの次のアルバムへ、
そのアーティストが終われば次のアーティストへ・・・

MaraSongsは"全曲リスト"を生成して最後の曲が終われば最初の曲に戻り、停止操作をするまで連続再生します。

(Android用に作られた多くのミュージックプレイヤーはアルバム単位で連続再生が止まります。)

全曲リストはゲスト参加やコンピレーションでクレジットされたアーティスト名が異なる為に分断されたアルバムを、一枚のアルバムにまとめ直します。

多くのミュージックプレイヤーは
比較アーティストリスト
MaraSongsの全曲リスト
アーティストリスト
更にMaraSongsではアルバムがリストアップされるアーティストを調整できます。
  • リスト画面でアーティスト名もしくはアルバム名をロングタップすると表示されるメニューの機能からリストアップ編集で設定できます。
  • クレジットされたアーティスト名とリストアップしたい(連続して再生したい)アーティストが異なる時や、コンピレーションにまとめ損ねている曲が有ればご利用ください。
  • 変更先はリストアップされているアーティスト名の他に作曲者名や、コンピレーションになる事が多い"クラシック"や"サウンドトラック"も表示します。
  • 設定が終わると全曲リストを作り直して、変更を反映させます。
アーティスト調整

プレイリストの活用

汎用のプレイリストも読み込めますので
全曲リストを作る時間が無ければご利用の端末に有る既存のリストでも再生できます。
  • 他のアプリで作られたリストの読み込みや新規作成や編集はモチロン、
    ちょっとしたスマートプレイリスト機能もあります。
  • MaraSongsは再生した曲を記録して、最近再生された曲から設定された曲数で"最近再生した楽曲"を抽出します。
    • "最近追加したアルバム"は端末に登録したファイルから最新の物をアルバム単位で抽出します。
    • ランダム再生もプレイリストを利用します。
      ランダムに抽出した曲を"最近再生した楽曲"リストと照合して重複が無い、できるだけ再生されていない曲を抽出します。
  • 変更先はリストアップされているアーティスト名の他に作曲者名や、コンピレーションになる事が多い"クラシック"や"サウンドトラック"も表示します。
  • 設定が終わると全曲リストを作り直して、変更を反映させます。
プレイリスト一覧

2.ちょっと変わった工夫

リクエスト機能

  • 再生した曲はリストから外されていく一過的なプレイリストです。
  • リスト画面に表示されたタイト(曲)をロングラップして選曲。
    再生中の曲が終わったら次に再生する曲、その次に再生させたい曲…といった、その時の再生リストに割り込んで再生する曲を"リクエスト"としてプレイリスト化します。
  • このリストは再生した曲を順次消去して、すべてのリクエストを再生し尽くせば元のプレイリストで再生していた次の曲に戻ります。
  • 例えば家族や友人とドライブする時に、同乗される方に聞きたい曲をリクエストして頂くために考案しました。
リクエストリスト

レジューム再生

2回目以降の起動時は前回の続きから再生します。
(Android用に作られた多くのミュージックプレイヤーは 前回聞いていた曲の続きから聴く事もできませんので作成した機能です。)

送り/戻しの連打対応

10回押せば10曲先もしくは10曲前の曲に一回の書き換えで切替わります
1曲送るごとに書き換えを行っていると処理がたまってハングアップする事がありますので、送る前にクリックされた回数をチェックする機構を設けました。

動きの軽いシンプルなリスト表示

サムネイル付の詳細リストが重いと感じたら、タイトルだけのシンプルなリストに変更できます。
  • 切替は設定のプレイヤー設定の「シンプルなリスト表示」で
  • ver1.1.1からは"最近追加したアルバム"の様にまとめる事が出来るリストは
    アーティスト/アルバム/タイトルの3階層リスト、
    長過ぎるリストは一画面目をアーティスト、二画面目をアルバム/タイトルの2つリストに切り分けて表示します。
  • この閾値になる曲数は設定画面のプレイリスト/アーティストリストの分類で指定します。
シンプルリスト

消音(短押し)/音量変更(長押し)ボタン

アンテナ端子などが付いたクレードルに装着した時の再度ボタン操作や
暗闇の中では見えないボリュームボタンに不便を感じたのでv1.09から対応
音量bt

Bluetooth接続/停止連携

例えばカーオーディオに接続していた場合、エンジンを止めて接続が切れればポーズをかけ、
再びエンジンをかける(再接続する)とポーズを解除して再生を再開します
使うか否かの切替は設定のプレイヤー設定の「Bluetooth連携」(v1.08で対応)

3.その他の機能

ミュージックプレイヤー必須機能やAndroidのインターフェイスにも当たり前に対応。

ノティフィケーションプレイヤー

画面上部からのスワイプで表示されるノティフィケーションプレイヤーで再生/停止、
ボタン以外の部分をタップするとプレイヤーを再表示します。
ノティフィケーションプレイヤー

ロックスクリーンプレイヤー

Android5以降からはノティフィケーションプレイヤーと共通
画面ロック(多くの端末では真っ暗な画面)から表示を戻した時、
ロックスクリーンに簡易なプレイヤーを表示します。
表示を復させた時に音楽再生が続いていれば、表示されるロックスクリーンプレイヤーで再生/停止、送り/戻しの操作ができます。
ロックスクリーン

サウンドエフェクト

Androidが用意しているイコライザーやバスブートリバーブ、ビジュアライザーも装備。

ビジュアライザーはジャケットアートの表示部を横方向にフリックすれば表示します。
イコライザー

再生できるファイル

Androidの機能を素直に利用していますので、再生できるファイルはAndroidが対応しているCDレベルの
AAC LC/LTP,HE-AACv1 ( AAC+ ),HE-AACv2 ( エンハンスト AAC+),AMR-NB,AMR-WB,FLAC,MP3,MIDI,Ogg Vorbisです。
(参照;http://www.techdoctranslator.com/android/appendix/media-formats)。
*アプリ側でハイレゾ対応はしていませんがSony Xplea Z5の様に再生できる機種もあります。

課題