0
我已經看過音頻管理器在doc。每當任何音頻/視頻(媒體)將在設備中播放時,我都希望得到通知。那麼廣播接收機是否有任何行動來獲取媒體的歷史?我想,我可以從使用輔助功能的通知更改中獲得它。但我不想使用可訪問性,因爲我想跟蹤將在任何默認媒體播放器或設備中的任何已安裝的軟件中播放的所有媒體。有什麼辦法可以做到嗎?使用Android中的廣播獲取當前播放的媒體信息
我已經嘗試了下面的代碼獲取有關媒體軌道的信息。但它僅適用於google play music
。如何從所有默認/已安裝的媒體播放器獲取曲目信息。
public class MainActivity extends Activity {
public static final String SERVICECMD = "com.android.music.musicservicecommand";
public static final String CMDNAME = "command";
public static final String CMDTOGGLEPAUSE = "togglepause";
public static final String CMDSTOP = "stop";
public static final String CMDPAUSE = "pause";
public static final String CMDPREVIOUS = "previous";
public static final String CMDNEXT = "next";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
IntentFilter iF = new IntentFilter();
iF.addAction("com.android.music.metachanged");
iF.addAction("com.android.music.playstatechanged");
iF.addAction("com.android.music.playbackcomplete");
iF.addAction("com.android.music.queuechanged");
registerReceiver(mReceiver, iF);
}
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
String cmd = intent.getStringExtra("command");
Log.d("mIntentReceiver.onReceive: ", action + "/" + cmd);
String artist = intent.getStringExtra("artist");
String album = intent.getStringExtra("album");
String track = intent.getStringExtra("track");
Log.d("Music","artist: "+artist+"\n album: "+album+"\n track: "+track);
}
};
任何幫助將不勝感激!
感謝您的建議。我想知道我如何獲得有關正在播放的「某物」的信息? –
正如我在回答中所說的那樣,在那裏無法找出正在播放的內容。 – Techfist