2011-04-11 92 views
1

在我的應用程序中,我從用戶(1到圖像,1到音頻軌道,1到視頻)獲取多條路徑並將它們存儲在數據庫中。當另一個活動開始查看這些文件時,並不能保證這些文件仍然處於這些路徑中,甚至根本不存在,因爲用戶選擇了這些文件並且可能已經刪除/移動了它們。因此,我需要能夠檢查這些路徑中的文件是否有效。 我原來的計劃是簡單地捕捉構建每個對象時引發的異常。 下面是我用什麼來查看每個:獲取MediaPlayer的狀態

Image - a Drawable 
Audio - a MediaPlayer 
Video - a VideoView 

我將通過展示給用戶 但是對話已處理的每個異常,沒有異常拋出,而是我得到不同的錯誤信息

的VideoView顯示其自己的對話框說:「抱歉,該視頻無法播放」

其他人去的logcat:

04-10 23:34:43.174: ERROR/PlayerDriver(30): Command PLAYER_SET_DATA_SOURCE completed with an error or info PVMFErrNotSupported 
04-10 23:34:43.174: ERROR/MediaPlayer(271): error (1, -4) 
04-10 23:34:43.365: ERROR/MediaPlayer(271): Error (1,-4) 

有關如何獲取MediaPlayer和VideoView狀態或其他方式檢查路徑的想法?

謝謝!

回答

2

您可以爲VideoViewMediaPlayer設置OnErrorListener。如果發生錯誤 - 您的監聽器將被調用。此外,您可以使用MediaPlayer或使用VideoView來檢查音頻和視頻,因爲它包含MediaPlayer以處理這兩種情況。

順便說一句,我認爲VideoView聽者在MediaPlayer對象中的VideoView

實際設置