2012-06-03 128 views
14

我創建一個簡單的應用程序,它流從淨視頻,我做到了,但現在我想改變的代碼,這樣我可以從我的SD卡從SD卡如何播放視頻

原碼播放視頻文件:

Uri vidFile = Uri.parse("MY SITE HERE"); 
VideoView videoView = (VideoView) findViewById(R.id.VideoView); 
videoView.setVideoURI(vidFile); 
videoView.setMediaController(new MediaController(this)); 
videoView.start(); 

所以,請幫助我改變了代碼,以便它可以從我的移動存儲卡播放視頻。

回答

11

videoView.setVideoURI(vidFile);方法需要由videoView.setVideoPath(path);方法所取代。 此處路徑指定SDCARD上的視頻文件的路徑。

可以使用該視頻文件的MediaStore.Video.Media.DATA屬性或通過靜態輸入歌曲路徑作爲/sdcard/songname來輕鬆檢索此路徑。

+0

返回的路徑嘿那麼Uri vidFile = Uri.parse(「我的網站這裏「);糾正我,如果我錯了,但沒有這個需要,所以我應該刪除它? – Mohit

+0

是的,你應該。除非是遠程流媒體,否則它是無用的。 –

+0

順便說一句,它只會播放.3gp文件或取決於我的手機支持的格式? – Mohit

1

在地方的

videoView.setVideoUri(vidFile)

使用

videoView.setVideoPath("/sdcard/SONG.")

讓我知道。

5
Uri vidFile = Uri.parse(
    Environment.getExternalStorageDirectory().getAbsolutePath()+"filename"); 
... 

其餘的代碼都是一樣的。

+0

它有一個特定的視頻文件的文件名,如果我想從列表中選擇,如何播放SELECTED視頻文件? – Mohit

+0

上面的示例代碼假定文件位於根級別..您可以將/path/filename.mp4附加到由'getabsolutePath()' – Ronnie

0

我也試過你的代碼,並得到相同的錯誤信息,但是當我嘗試使用路徑或名稱中沒有空白的視頻路徑時,它運行良好。試試吧。 例如, 文件路徑「/ mnt/sdcard /電影/長驅動器歌曲 - Khiladi 786英尺Akshay Kumar_Asin-YouTube.mp4」 給出錯誤但文件路徑「/mnt/sdcard/Movies/Khiladi.mp4」運行良好。