簡體   English   中英

在Android中控制音樂播放器的音樂

[英]Control music of music player in Android

我想在我的應用程序中對音樂控制器進行編程,這樣我就可以播放/暫停,從另一個內置音樂應用程序跳到播放列表中的下一首歌曲或上一首歌曲。 我已經看到了使用廣播將消息發送到所有音樂播放器以開始播放音樂的解決方案。 問題是,音樂開始在我安裝的三個不同的音樂播放器上播放。 有誰知道該用什么而不是sendBroadcast ,以便該消息僅發送到我想要的應用程序?

我在互聯網上找到以下解決方案。 它使用sendBroadcast方法。 該消息廣播到我不需要的每個音樂播放器。 我希望僅將其發送到一個特定的應用程序。

long eventTime = SystemClock.uptimeMillis();

/*NEXT*/
Intent downIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
KeyEvent downEvent = new KeyEvent(eventTime, eventTime, 
KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PREVIOUS, 0);
downIntent.putExtra(Intent.EXTRA_KEY_EVENT, downEvent);
sendBroadcast(downIntent, null);

Intent upIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
KeyEvent upEvent = new KeyEvent(eventTime, eventTime, 
KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MEDIA_PREVIOUS, 0);
upIntent.putExtra(Intent.EXTRA_KEY_EVENT, upEvent);
sendBroadcast(upIntent, null);

您不能將其僅發送到一個音樂播放器。 廣播是觸發其他應用程序可以訂閱的操作的系統事件。 我非常確定,除非Android在播放音樂時強加您的聲音,否則編寫不訂閱這些廣播的音樂播放器很有可能(我不確定是否會這樣做,但我認為不是)。 因此,您甚至沒有將其發送給所有人,而是將其發送給系統,然后訂閱該文件的任何人都可以對它采取行動。

這個應用程序的用例到底是什么?

您可以與其他應用交互的另一種方式是隱式Intent。 這樣,您可以從其他應用程序調用視圖並返回結果。 這僅適用於該應用程序的開發人員允許的應用程序/視圖。 而且也不做您想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM