Jump to content

Lire un fichier video local hors du package


Kricek

Recommended Posts

Coucou tout le monde!

Je cherche à lire une vidéo dans mon appui et cela fait 2jours que je fais du sur place. Je pense avoir tout essayé: avec une "VideoView", ou un "MediaPlayer", la video stockée en interne, ou sur la carte sd... A chaque fois j'arrive au même point "Désolé! Cette vidéo ne peut être lue."

Le problème ne vient pas de la vidéo car lorsque je la mets dans le répertoire "Raw" et que je l'appelle comme ça:

video.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/raw/Titre_De-Ma-Video"

Elle est lue.

J'ai même suivi le tuto à cet endroit et ça ne fonctionne pas non plus.

J'ai lu à certains endroits qu'on ne pouvait pas lire sur la carte interne (même avec "getFilesDir()") à moins d'être directement dans les ressources du projet ("/raw"). J'ai donc essayé sur a carte sd externe, ça ne change rien.

J'ai lu à d'autres endroits qu'on pouvait se servir d'un FileDescriptor, que le fichier soit en interne ou en externe, ça fonctionnerait... J'ai essayé, idem.

J'ai lu également qu'il était plutôt conseillé d'appeler le fichier à l'aide d'une URI... Idem

J'ai essayé en passant par une VideoView, c'est à dire l'implémentation simplifiée EXPRES pour ça... Idem

J'ai aussi essayé en passant par un MediaPlayer, un peu plus fastidieux et ça ne marche pas non plus.

J'ai essayé avec un MediaController ou sans, toujours pareil...

Là, j'avoue que je commence sérieusement à être un peu agacé...

Surtout pour l'histoire du tuto de Google... Si ça recopié, ça remarche pas, là, je vois plus... lil

Si quelqu'un pouvait me sortir de cette mouise, ça m'aiderait beaucoup....

Link to comment
Share on other sites

Un ptit up au passage...

J'ai continué à faire des recherches sur le net. Je suis tombé sur un tuto qui expliquait que le fichier que l'on voulait lire devait avoir des droits de WORLD_READABLE (car la lecture d'une video utilise une appui externe et donc le fichier ne doit pas être réservé à l'application. J'ai modifié en fonction mais ça ne change rien du tout...

FileOutputStream fos2 = mContext.openFileOutput(Nom_du_Fichier, Context.MODE_WORLD_READABLE);

D'autres idées?

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour.

Ca peut paraître (très) stupide comme suggestion mais c'est bien souvent les petites choses qu'on oublie qui nous plombent !

As-tu bien autorisé l'accès internet dans ton manifest ?

Sinon Je suis entrain d'essayer de lire une vidéo également, je te tiens au courant.

Edit : mince j'ai lu trop vite j'avais vu "setVideoUri" :( :S

Edited by cyberalternative
Link to comment
Share on other sites

  • 7 months later...

Oki, pas de pb android par rapport aux videos sur sdcard :

public class VideoActivity extends Activity {
private String path = "";
private VideoView mVideoView;
@Override
public void onCreate(Bundle icicle) {
 super.onCreate(icicle);
 setContentView(R.layout.video);
 mVideoView = (VideoView) findViewById(R.id.video);
 File sdCardCustomFolder = new File(Environment.getExternalStorageDirectory(), "test");
 File videoFile = new File(sdCardCustomFolder, "exemple.mp4");
 path = videoFile.getPath();
 mVideoView.setVideoPath(path);
 mVideoView.setMediaController(new MediaController(this));
 mVideoView.requestFocus();
}
}

Sur mon device j'ai créé un repertoire "test" ds le répertoire "sdcard". J'y ai mis le fichier "exemple.mp4".

Coté xml j'ai juste une VideoView ds mon LinearLayout principal.

Quand on touche le rectangle de la video, ca affiche les controls de la video (play/volume/...), et je peux lancer la video...ce que je fais, et ca marche !

Edited by Guest
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...