3

最近、音楽アプリ Spotify から現在の曲を再生する方法についての質問が投稿されましたが、これを行う簡単な方法はないようです。

少なくとも 4.0+ の Android ロック画面は、現在の曲を表示し、Spotify を含むほぼすべての音楽プレーヤーで動作します。だから私の質問は、ロック画面がこの情報をどのように取得するのですか?

4

2 に答える 2

5

Android 4.0 および 4.1 では、表示されているロック画面の部分を「リモコン」と呼びます。呼び出しregisterRemoteControlClient()て情報を提供できます。

Android 4.2 以降では、代わりに独自のロック画面対応アプリ ウィジェットを作成できます。

于 2013-01-26T13:16:27.827 に答える
2

ブロードキャストレシーバーを使用して、ブロードキャスト レシーバーを作成し、マニフェストでそのフィルターを定義できます。次に、このブロードキャストを送信するすべての音楽アプリケーションが、アプリから送信された情報とともに onReceive メソッドをトリガーします。

編集:

Intent intent = new Intent("com.android.music.playstatechanged");
    intent.putExtra("playing", (mState & FLAG_PLAYING) != 0);
    if (song != null) {
        intent.putExtra("track", song.title);
        intent.putExtra("album", song.album);
        intent.putExtra("artist", song.artist);
        intent.putExtra("songid", song.id);
        intent.putExtra("albumid", song.albumId);
    }
    sendBroadcast(intent);

これは、ブロードキャストを送信するために使用されるストック プレーヤーのコードです。ブロードキャスト レシーバーを調べると、必要なデータを取得する方法がわかります。

また、spotify 用のフィルター、AFIK を見つける必要があります。これは soptify で機能します。「com.android.music.metachanged」またはこちらをご覧くださいhttp://pastebin.com/ukfPnZwg

于 2013-01-26T12:02:49.030 に答える