Bonjour à tous,
Je dois stocker des vidéos dans le dossier INTERNE de l'appli. J'ai donc utilisé ce bout de code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| public static void downloadVideo(Context context, Video video) {
File mydir = context.getFilesDir();
File fileWithinMyDir = new File(mydir, video.title);
if (!fileWithinMyDir.exists()) {
InputStream input = null;
HttpURLConnection connection = null;
FileOutputStream outputStream = null;
try {
URL url = new URL(video.url);
connection = (HttpURLConnection) url.openConnection();
connection.connect();
input = connection.getInputStream();
outputStream = context.openFileOutput(video.title, Context.MODE_PRIVATE);
byte data[] = new byte[4096];
while (input.read(data) != -1) {
outputStream.write(data);
}
} catch (Exception e) {
} finally {
try {
if (outputStream != null)
outputStream.close();
if (input != null)
input.close();
} catch (IOException ignored) {
}
if (connection != null)
connection.disconnect();
}
}
} |
Mais après, impossible de lire la vidéo. J'ai testé cette solution (https://stackoverflow.com/questions/...ternal-storage), essayé avec une videoview, un FileProvider, rajouté intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION ) ... rien n'y fait. Pourtant la ligne
File mydir = getActivity().getFilesDir();
m'indique bien qu'il contient la vidéo en question.
Je précise que la vidéo n'a pas de problème de lecture en temps normal.
Auriez vous une solution ?
Merci
Partager