Я получаю строку путь, как показано нижеК сожалению, это видео не может быть воспроизведено
File f = new File(
Environment.getExternalStoragePublicDirectory(File.separator),
"abc");
File file[] = f.listFiles();
, а затем преобразовать этот файл массив в массив String.
list = new String[file.length];
for (int i = 0; i < file.length; i++) {
list[i] = file[i].getAbsolutePath();
}
Теперь в другом классе, я получаю эти отдельные элементы из списка массива и передавая его
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("file://" + list[index]));
String ext = MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString());
String type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext);
Log.d(TAG,"type = "+type);
intent.setType(type);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
Из приведенного выше кода я получаю "Sorry, this video can not be played"
ошибку. Я пробовал много сообщений здесь, но не смог добиться успеха. Пожалуйста, помогите решить эту проблему.
Отлаживайте свой код и смотрите, что вы передаете в намерениях. Проверить 'list [index]' –
list [index] возвращает абсолютное значение файла из папки приложения. – SimpleCoder
Насколько велик видеофайл? Это также может быть связано с большим видеофайлом - это, по крайней мере, то, что я испытал сам. – Darwind