想从SD卡上的文件在Android上播放视频

时间:2011-06-09 17:12:40

标签: android file video android-intent uri

我正在尝试加载在手机SD驱动器上播放视频文件的意图。我不确定我做错了什么......

String movieurl = Environment.getExternalStorageDirectory() + "/Videos/Wildlife.wmv";

Intent intentToPlayVideo = new Intent(Intent.ACTION_VIEW);
intentToPlayVideo.setDataAndType(Uri.parse(movieurl), "video/*");
startActivity(intentToPlayVideo);

我收到错误“文件无法显示播放”。

有什么想法吗?

注意: 我也试过了:

MediaPlayer mp = new MediaPlayer();
mp.setDataSource(movieurl);
mp.prepare();
mp.start();

哪个失败,异常:java.io.IOException:准备失败:status = 0x1

3 个答案:

答案 0 :(得分:3)

想出来......

原来在Droid X2上,Environment.getExternalStorageDirectory() returns "/mnt/sdcard",实际上并不是SD卡。

(通过File.listFiles()

找到了这个

Droid X2上的实际SD卡目录为"/mnt/sdcard-ext".

感谢您的帮助!

答案 1 :(得分:1)

WMV文件是否在标准媒体播放器中自行播放?我怀疑你是否继续得到可能文件无法播放的错误。

答案 2 :(得分:1)

试试这样:

FileInputStream fis = new FileInputStream(new File(movieurl));
MediaPlayer mp = new MediaPlayer();
mediaPlayer.setDataSource(fis.getFD());
fis.close();
mp.prepare();
mp.start();