我在我的應用程序中有一個活動和一個服務組件。活動和/或服務
意圖是讓服務負責準備SurfaceView
和需要表面支架的mediaplayer實例。我的媒體是一個視頻文件。
是否可以從我的服務中創建表面視圖?
我可以調用以下
surface = (MySurfaceView) findViewById(R.id.surface);
?
如果我這樣做了,我可以將surface.getHolder
分配給玩家實例的setDisplay()
。
總體目標是從活動中發佈命令(播放,停止,尋找等),並讓服務實現對mediaplayer狀態的控制。
我可能會把所有的東西放在我的活動中,但是當我旋轉設備時,我不想拆下表面並在中重新創建它。因此,看看在這裏使用我的情況服務。
任何想法或解決方案高度讚賞。
謝謝。
我看不出AsyncTask如何幫助我。媒體播放器應該在應用程序的整個生命週期中在後臺運行。 – 2011-04-27 21:16:31
如果surface不可用,MediaPlayer將僅播放音頻。我不確定您是否可以隨時附加/拆卸/重新連接表面,但回放應該沒有表面的情況下正常工作。這意味着你可以將你的播放器放在服務中,而曲面將由活動管理。 – inazaruk 2011-04-27 21:37:27
我已經添加了一些有用的鏈接到文章 - 帶有樣本,這將引導您完成此任務的不同實現。 – rekaszeru 2011-04-27 21:45:02