如何从 SD 卡播放视频
Posted
技术标签:
【中文标题】如何从 SD 卡播放视频【英文标题】:How to play videos from SD Card 【发布时间】:2012-06-03 11:14:33 【问题描述】:我正在创建一个简单的应用程序,它可以从网络上流式传输视频,但现在我想更改代码以便可以播放我的 SDCard 中的视频文件
原代码:
Uri vidFile = Uri.parse("MY SITE HERE");
VideoView videoView = (VideoView) findViewById(R.id.VideoView);
videoView.setVideoURI(vidFile);
videoView.setMediaController(new MediaController(this));
videoView.start();
所以请帮助我更改代码,以便它可以播放我的移动存储卡中的视频。
【问题讨论】:
【参考方案1】:videoView.setVideoURI(vidFile);
方法需要替换为videoView.setVideoPath(path);
方法。
这里path指定视频文件在SDCARD
上的路径。
可以使用该视频文件的MediaStore.Video.Media.DATA
属性轻松检索此路径,或者只需将歌曲路径静态输入为/sdcard/songname
。
【讨论】:
嘿 Uri vidFile = Uri.parse("MY SITE HERE");如果我错了,请纠正我,但不需要这个,所以我应该删除它? 顺便说一句,它只会播放 .3gp 文件还是取决于我的手机支持的格式?【参考方案2】:Uri vidFile = Uri.parse(
Environment.getExternalStorageDirectory().getAbsolutePath()+"filename");
...
其余代码将相同。
【讨论】:
它有一个特定视频文件的文件名,如果我想从列表中选择,如何播放选定的视频文件? 上面的示例代码假定文件位于根级别。您可以将/path/filename.mp4附加到getabsolutePath()
返回的路径【参考方案3】:
代替
videoView.setVideoUri(vidFile)
使用
videoView.setVideoPath("/sdcard/SONG.")
.
告诉我。
【讨论】:
【参考方案4】:这些链接可能会对您有所帮助:
Playing 3gp video in SD card of android
how-play-video-and-audio-android
Using VideoView to play mp4 from sdcard
【讨论】:
【参考方案5】:我也尝试了您的代码并收到相同的错误消息,但是当我尝试使用路径或名称中没有空格的视频路径时,它运行良好。试一试。 例如, 文件路径“/mnt/sdcard/Movies/Long Drive Song - Khiladi 786 ft. Akshay Kumar_Asin-YouTube.mp4” 给出了错误,但文件路径“/mnt/sdcard/Movies/Khiladi.mp4”运行良好。
【讨论】:
【参考方案6】:我知道它很旧,但如果它可以提供帮助。将此添加到您的清单中
<uses-permission android:name="com.android.externalstorage.ExternalStorageProvider"/>
【讨论】:
以上是关于如何从 SD 卡播放视频的主要内容,如果未能解决你的问题,请参考以下文章