2011-02-25 64 views
2

我有一個主要的MediaPlayer,它可以很好地播放RTSP流,並且我使用了一個AsyncTask來緩衝另一個流的內容。它實現了這一點。當我嘗試切換到第二個流時,我可以聽到流切換並且不會滯後,但我只能聽到聲音。 SurfaceHolder擁有一個VideoView,它已經準備好了,我將它註冊爲顯示器,用於 媒體播放器。 當我切換流,我停止舊的MediaPlayer,但表面不會被破壞,這是好的,但它不會顯示我的第二個視頻。有任何想法嗎?在兩個MediaPlayers之間共享VideoView不起作用

回答

0

您能否提供您的VideoView實例化代碼以及用於切換MediaPlayers的代碼?

在任何情況下,我懷疑這會工作,因爲VideoView實例化自己的MediaPlayer並使用它來播放媒體。 (請參閱VideoView.java

您可能需要切換出VideoView本身,或者使用自己的SurfaceView子類構建VideoView的替代品。

+0

VideoView實例化是Android文檔中的標準實例,我將它附加到SurfaceHolder,然後在MediaPlayer上調用setDisplay(mHolder)。我明白你對VideoView和它自己的媒體播放器的看法,但是我怎樣才能利用已準備好的媒體播放器()並準備好開始()?我是否應該實例化2個VideoView並使舊的VideoView不可見,並且我的新關聯的第二個MediaPlayer可見?感謝您的回答! – dulys 2011-02-25 18:30:53

+0

你能告訴我你正在談論的VideoView實例的鏈接嗎?如果您使用的是VideoView,那麼您的代碼不應該提及MediaPlayer(除了在某些爲您提供MediaPlayer的VideoView回調之外)。如何開發自定義SurfaceView的一個很好的起點是VideoView.java,將其更改(或繼承它)以在一個視圖中切換兩個不同的MediaPlayers。 – 2011-02-25 19:18:16

+0

請同時參閱:http://stackoverflow.com/questions/4096273/what-are-the-difference-between-mediaplayer-and-videoview-for-android – 2011-02-25 19:19:13