2012-06-03 129 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”运行良好。