如何获取在Android设备上播放音乐曲目的信息?

时间:2010-09-24 11:37:25

标签: android

我希望在Android设备上播放音乐曲目信息。 是否有适用于此的Android驱动API?或者我是否必须为各自的Android媒体播放器编写插件?

2 个答案:

答案 0 :(得分:3)

这在技术上是一种黑客攻击。并且仅适用于与Android捆绑在一起的音乐应用程序。

将此IMediaPlaybackService.aidl复制到您的项目中...请参阅this发布以访问MediaPlayer服务。然后,您可以访问所有这些功能。

package com.android.music;

import android.graphics.Bitmap;

interface IMediaPlaybackService
{
    void openFile(String path, boolean oneShot);
    void openFileAsync(String path);
    void open(in long [] list, int position);
    int getQueuePosition();
    boolean isPlaying();
    void stop();
    void pause();
    void play();
    void prev();
    void next();
    long duration();
    long position();
    long seek(long pos);
    String getTrackName();
    String getAlbumName();
    long getAlbumId();
    String getArtistName();
    long getArtistId();
    void enqueue(in long [] list, int action);
    long [] getQueue();
    void moveQueueItem(int from, int to);
    void setQueuePosition(int index);
    String getPath();
    long getAudioId();
    void setShuffleMode(int shufflemode);
    int getShuffleMode();
    int removeTracks(int first, int last);
    int removeTrack(long id);
    void setRepeatMode(int repeatmode);
    int getRepeatMode();
    int getMediaMountedCount();
}

对于其他玩家,您需要检查他们是否将其服务公开给其他应用程序。

答案 1 :(得分:1)

我是Android新手,我不知道如何做到这一点。 但是!我知道last.fm Android应用程序必须执行此操作,因为它显示当前正在播放的媒体播放器轨道中的信息,以及“scrobbles”(发送您在Android媒体中播放的曲目列表)玩家到他们的网站)。而且,我也知道他们的应用程序是开源的。代码在这里:https://github.com/c99koder/lastfm-android/

所以,如果你有时间,你应该能够搜索他们的代码并弄清楚他们是如何做到的。