自作音楽プレイヤーのはなし
FirstUPDATE2021.5.19
@Scribble #Scribble2021 #プログラミング #Android #音楽 単ページ Automagic MP3 プレーヤー

えと、こないだの自作RSSリーダに続く話です。

Androidは数が多いだけでロクなアプリがないってのは先日書きましたが、音楽再生アプリもね、少なくともiPhoneでは普通に出来てたことが出来ない。しかも、たぶん今、世にあるすべてのAndroidアプリで。
ここからは以前Tumblrに書いたことと被ります。
アタシが音楽再生アプリに望むのは<曲中レジューム>、この一点だけ。でもこれがどれもいい加減な仕様なんです。
もちろん曲中レジューム対応を謳ったアプリはあるんですよ。んで一見ちゃんと曲中レジュームが出来てるように思う。ところがどれもこれも本当に不完全で。

例を出します。
たとえば「Aというプレイリストの2曲目の30秒あたり」を聴いていたとしましょう。
んで、一時停止、もしくは音楽再生アプリを終了させる。んで再び音楽再生アプリを立ち上げて再生を始めると、ちゃんと「Aというプレイリストの2曲目の30秒あたり」から再生を始めてくれる。
ま、これが曲中レジュームだし、この程度は曲中レジューム対応と謳ったアプリなら出来るんです。

ところが「Aというプレイリストの2曲目の30秒あたり」を再生中に「Bというプレイリストに切り替えた」後に、再び「Aというプレイリストを再生した」らどうなるか、です。
この場合、Androidの音楽再生アプリは「Aというプレイリストの1曲目の0秒スタートになる」んですよ。つまりプレイリストを切り替えたら最後、もう曲の位置を忘れるのです。

個人的にこれが絶望的に使いづらかった。
というのもアタシはラジオ音源など長尺の音源を聴くことが多いし、その合間に普通の音楽も聴く。となると普通の音楽(つまり一曲あたりが短い音源)ならともかく、ラジオ音源を聴くのに曲中レジュームが効かない(というか前のプレイリストの位置を覚えない)ってのは致命的なのです。

こんなこと、iPhoneの音楽再生アプリでは一度もなかった。プレイリストを切り替えようがちゃんと位置を覚えていた。つまりこれがアタシの思う「完全」曲中レジュームなんです。
何しろiPhoneでは当たり前だったから、さすがに対応してないわけがないと思ってたし、対応してないアプリを使っみて「いい加減な実装だなぁ」と思ってた。
ところが探せど探せど完全曲中レジュームに対応したアプリがひとつもない。プレイリストを切り替えたら正確な曲の位置どころか、いわゆる曲間レジュームさえ対応していない。

こうなるともう、前回も紹介した「AutoMagic」というアプリを使って作るしかないわけです。
AutoMagicは一応MP3再生機能はあるけど、イコライジング機能とかはないし、そういう意味では見劣りするものしか作れないのはわかっていた。
しかしそれは別途イコライザーアプリなりを用意すれば済む話だし、何よりアタシは音質よりも完全曲中レジュームにこだわっていたのでね。

正直、AutoMagicの機能だけで曲中レジュームに対応させるのはややこしいんだけど、まったく不可能ではない。一応「MP3をn秒位置から再生させる」ことは可能なので、あとは強引にやりました。
もっともたったひとつのフローだけですべてを実現させるのは絶対無理なので、8つのフローを機能毎に分離させてあるのですが、それを行き来しつつ

・(ほぼ)完全曲中レジューム対応
・曲送り、曲戻し対応
・30秒巻戻し対応(ラジオ音源には必須)
・プレイリスト内の曲選択対応
あたりは実現させました。
ただしどうしても無理なのが
・シーク対応
・再生位置(○分○秒を再生中)の表示対応

このあたりはUIがどうしようもないので絶対に無理です。
ちなみに曲中レジュームに(ほぼ)と脚注が付いているのは、たまに失敗するんです。ちょっと原因不明なんで、もうちょい頑張ってみます。

実は(Tumblrには書いてたけど)もっと高邁なことを考えてるんだけど、これは技術的にというより手間暇が酷すぎてペンディング。いやこれが実現出来たらそこいらのサブスクよりも面白いんだけどねぇ。







Copyright © 2003 yabunira. All rights reserved.