2011-06-28 91 views
5

以「Pandora for Android」爲例,很容易理解這方面的一個例子。隱藏活動時播放視頻

我的活動有一個VideoView從一個班級演講。 我希望能夠從這個活動切換到另一個活動(在我的應用程序或不同的應用程序(主屏幕,其他應用程序)),而不會中斷。

使用Pandora示例,我可以在播放音樂的同時轉到「切換廣播電臺」視圖,我可以進入主屏幕並繼續在手機上無縫導航。

這隻可能用於視頻或音頻嗎?我可以播放視頻文件中的音頻,然後輕鬆切換回去嗎?

回答

4

處理這個問題的一般方法(以及Pandora如何處理它)是在後臺線程上從服務播放音樂。在這種情況下VideoView無法使用,因爲它是一個視圖,並且與一個活動相關聯。

我會通過從Android VideoView代碼開始,將它分成兩部分,一部分用於處理UI,另一部分用於視頻回放。

在後臺服務中運行MediaPlayer,當您的視頻活動顯示時,請使用視頻視圖界面調用MediaPlayer.setDisplay(),並在視頻視圖隱藏時調用MediaPlayer.setDisplay()。

顯然這比直接使用VideoView要複雜得多,需要啓動服務並與UI進行協調。您也可能會在後臺線程中運行MediaPlayer而不是服務。

+0

有沒有人得到這個效果?我試圖在活動進入後臺時遇到從玩家分離Surface的問題。 – Rawler

+0

每當活動離開時,媒體播放器開始YELLING「錯誤(1,-2147483648)」。 'setDisplay(null)'沒有幫助,'setSurface(null)'也沒有。 – Rawler

+0

有沒有人設法使此工作? – Petar