[英]How to share a MediaPlayer object between multiple fragments?
我設置了1個Main Activity(擴展了Activity類)和2個Fragments(擴展了Fragment類)。
我嘗試設置一個由2個片段實現的接口。 每個片段都從接口實現以下特定功能:
public stopMusic()
{
mediaplay.release(); // here, the mediaplay object belongs to only the respective fragment
}
現在,我知道這是行不通的,因為MediaPlayer對象對於兩個片段而言並不通用,即,它們之間沒有共享。
如果我按下另一個片段(例如Fragment2java)中的按鈕,我正在尋求釋放流式播放器在Fragment1.java中的文件的媒體播放器對象。 同樣,如果我按Fragment1.java中的一個按鈕,則要釋放在Fragment2.java中流傳輸文件的mediaplayer對象。
我怎樣才能做到這一點? 示例代碼確實有幫助。
假設片段A是控制片段,片段B是媒體播放器。 所有通信都應通過父活動進行。 因此,在片段B中,您將創建父活動實現的“公共接口”,然后父活動應調用片段B中的方法。
還取決於您對媒體播放器的實際操作或其他功能,與片段B相對應,它是在后台嗎?
注意:片段應該松散耦合,並且永遠不要在片段之間進行通信,始終通過父Activity進行通信。
希望這可以幫助。
您必須執行以下操作:
myMediaPlayerObject
) Activity a = getActivity();
((MainActivity)a).stopMusic();
或直接使用對象((MainActivity)a).myMediaPlayerObject
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.