2016-09-09 23 views
1

我有一個應用程序,其中包含一個顯示項目列表的表單。當你點擊一個項目時,它會顯示一個帶有視頻的新表單。在按回到項目列表後,然後進入新項目後,第一個窗體中的舊視頻仍在播放。Codename one MediaPlayer不會在表單變更上發佈視頻

我試過,刪除視頻組件,將媒體和媒體播放器設置爲空,重新驗證事物。不知道它如何保持舊媒體。如果我嘗試做media.cleanup()在後面的方法獲得: 顯示java.lang.NullPointerException - 嘗試在空對象引用調用虛方法「布爾android.widget.VideoView.isPlaying()」

這是我在後面的代碼:

Command back = new Command("Back") { 
     public void actionPerformed(ActionEvent ev) { 
      imageVideoContainer.removeAll(); 
      if (previousForm == null) { 
       previousForm = new PoleBookMain(); 
      } 
      previousForm.showMainForm(); 
     } 
    }; 

然後showMainForm方法是:

public void showMainForm() { 
    current = form; 
    form.show(); 
    current.revalidate(); 
} 

回答

0

您需要調用pause()cleanup()完全去除媒體,如果你不再需要它,它仍在播放。

+0

@ toby-mundy您需要使用註釋才能嘗試編輯答案。如果你遇到了問題/迴歸,我建議提出一個新問題並詳細闡述在哪個平臺上工作/失敗,並且理想情況下是一個很好的時間表,以便什麼時候某些東西可能倒退,以便我們可以追蹤它 –

+0

抱歉響應緩慢。但是調用pause()和cleanup()並沒有什麼區別。這是我原來的代碼,停止工作。 – Karry

+0

這可能是來自新對等組件支持的迴歸。如果你的目標版本是3.5,你是否看到這個問題? –