Намерение воспроизвести видео на Android из файла на SD-карте - PullRequest
2 голосов
/ 09 июня 2011

Я пытаюсь загрузить намерение воспроизвести видеофайл на 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 ]

3 голосов
/ 09 июня 2011

Разобрался ...

Оказывается, что на Droid X2 Environment.getExternalStorageDirectory() returns "/mnt/sdcard", который на самом деле не является SD-картой.

(Выясните это, выполнив File.listFiles())

Фактический каталог SD Card на Droid X2: "/mnt/sdcard-ext".

Спасибо за помощь!

1 голос
/ 09 июня 2011

Попробуй так:

FileInputStream fis = new FileInputStream(new File(movieurl));
MediaPlayer mp = new MediaPlayer();
mediaPlayer.setDataSource(fis.getFD());
fis.close();
mp.prepare();
mp.start();
1 голос
/ 09 июня 2011

Файл WMV воспроизводится сам по себе в стандартном медиаплеере? Я подозреваю, что если вы продолжите получать ошибки, возможно, файл просто не воспроизводится.

...