アプリから他のアプリで再生されている楽曲情報を取得する方法を紹介します。
前提として
iOSの場合は、デフォルトのMusicアプリ。Androidの場合はGoogle Play Musicアプリから取得ができます。
iOSはサードパーティ製のアプリから情報を取得することが出来ません。Androidは対象の音楽プレイヤーアプリが対応していればできますが、現状私が把握しているのはGoogle Play Musicのみです。
また両アプリとも、ストリーミングでの定額聴き放題サービスをしていますが、その曲であっても取得可能です。
iOS
初めにMediaPlayer.frameworkをプロジェクトに入れてください。そしたら下記コードを書くことで、Musicアプリで再生中の楽曲情報を取得ができます。
Swift
Objective-C
Android
こちらの場合は、Google Play MusicのアプリがIntentを投げてくれるので、それをアプリ側のBroadCastReceiverで取得します。
iOSと違うのはiOSは再生中、もしくは停止中のものが取得できますが、Androidは、再生されたり、再生位置が変わったり、再生状態が切り替わった瞬間にIntentが飛んで来るので、扱いには注意して下さい。
最後に
これをやりたいという要件はあまり無いかもしませんが、お役に立てば幸いです。