我希望在Android设备上播放音乐曲目信息。 是否有适用于此的Android驱动API?或者我是否必须为各自的Android媒体播放器编写插件?
答案 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/
所以,如果你有时间,你应该能够搜索他们的代码并弄清楚他们是如何做到的。