IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Enregistrement d'une vidéo à partir d'un URL


Sujet :

Android

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Par défaut Enregistrement d'une vidéo à partir d'un URL
    Bonjour,

    j'aimerais créer un programme qui me permette d'enregistrer un vidéo à partir d'une URL sur le path "/data/data/packagename/files/", puis le récupérer pour l'afficher.
    J'ai essayé avec ce code mais un message s'affiche " le video ne peut pas etre lire"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    	 public void DownloadFromUrl(String vedioURL, String fileName) {  //this is the downloader method
     
     
    		BufferedReader reader = null;
    		FileOutputStream fos = null;
    		InputStream in = null;
     
    		 try {
    			 File dest = new File(PATHtxt+fileName);
     
    				// création de la connection
    				URL url = new URL(vedioURL);
    				URLConnection conn = url.openConnection();
    				System.out.println(vedioURL);
     
    				String FileType = conn.getContentType();
    				System.out.println("FileType : " + FileType);
     
    				int FileLenght = conn.getContentLength();
    				if (FileLenght == -1) {
    					throw new IOException("Fichier non valide.");
    				}
     
    				// lecture de la réponse
    				in = conn.getInputStream();
    				reader = new BufferedReader(new InputStreamReader(in));
    				if (dest == null) {
    					String FileName = url.getFile();
    					FileName = FileName.substring(FileName.lastIndexOf('/') + 1);
    					dest = new File(FileName);
    				}
    				fos = new FileOutputStream(dest);
    				byte[] buff = new byte[1024];
    				int l = in.read(buff);
    				while (l > 0) {
    					fos.write(buff, 0, l);
    					l = in.read(buff);
    				}
    			} catch (Exception e) {
    				e.printStackTrace();
    			} finally {
    				try {
    					fos.flush();
    					fos.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    				try {
    					reader.close();
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    puis le code de la recuperation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    try
    	        	  {
     
    	        	  //////////////
    	        	  VideoView view = (VideoView) Coursvedio.this.findViewById(R.id.vedio);
     
    	        		view.setMediaController(new MediaController(Coursvedio.this));
    	        		//setContentView(vedio);
    	        		view.setVideoPath( "/data/data/com.learning/files/ag.3gp");
    	        		view.requestFocus();
    	        		view.start();
    	        	  }
    	        	  catch (Exception e) {
    	        	 		// TODO Auto-generated catch block
    	        	 		e.printStackTrace();
     
    	        	 		Log.d("erreur de chargement", e.toString());
     
    	        	 	}
    Merci.

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Pourrais tu nous poster ton logcat ?

    Ainsi, vérifie si ton fichier à bien était récupérer et que son nom soit bien "ag.3gp".

    Maintenant vu le code quel intérêt de sauvegarder ton fichier via une constante si tu ne la réutilise pas par la suite ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File dest = new File(PATHtxt+fileName);
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    view.setVideoPath( "/data/data/com.learning/files/ag.3gp");
    J'ai un peu du mal à suivre ...

    Merci

  3. #3
    Membre à l'essai
    Femme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Par défaut
    merci pour votre réponse
    mais c'est après des changement dans ce code pour que je trouve la solution ce fait cette faute de modifier le path.
    concernant mon enregistrement oui elle se fait et le fichier ag.3gp m'apparais dans le path mais le problème réside dans lecture.
    lorsque je fais push de cette vidéo dans le path l’émulateur réussie à le récupérer donc à mon avis le problème c'est lors de l'enregistrement

    Il n' y a pas d'autres solutions

  4. #4
    Membre à l'essai
    Femme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Par défaut
    voici une autre solution quio me donne la meme chose 'this video cannot be played'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 void onCreate(Bundle savedInstanceState) 
     {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     
        try {
            URL url = new URL(""http://@serveur:8080/serveur/videos/a.3gp"");
            HttpURLConnection c = (HttpURLConnection) url.openConnection();
            c.setRequestMethod("GET");
            c.setDoOutput(true);
            c.connect();
     
     
            Log.v("log_tag", "PATH: " + PATH);
            File file = new File(PATH);
            file.mkdirs();
            File outputFile = new File(file, fileName);
            FileOutputStream fos = new FileOutputStream(outputFile);
     
            InputStream is = c.getInputStream();
     
            byte[] buffer = new byte[1024];
            int len1 = 0;
            while ((len1 = is.read(buffer)) != -1) {
                fos.write(buffer, 0, len1);
            }
            fos.close();
            is.close();
        } catch (IOException e) {
            Log.d("log_tag", "Error: " + e);
        }
        Log.v("log_tag", "Check: ");
    } }
    et voici le log

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    10-13 06:30:24.142: ERROR/MediaPlayer(472): error (1, -2147483648)

  5. #5
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    peux tu nous donner un peu plus de ton logcat ?

    Car vu ton erreur tu as un souci lors de la lecture de ton fichier.

    Soit c'est le Player qui est mal initialisé, soit c'est le fichier qui est illisible ou null ...

    1/ Essaye de récupérer ton fichier 3gp sur le téléphone puis de le lire avec un player depuis ton pc pour voir si le fichier est correct.

    2/ Il faudrait regarder dans le fichier MediaPlayer.java à la ligne 472 en fonction de ton API voir quelle ligne te pose problème ?

  6. #6
    Membre à l'essai
    Femme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Par défaut
    oui le fichier est correct déjà lorsque je met directement son url la lecture se fait.je pense que c'est un problème de téléchargement, car même lorsque je met moi même le vidéo dans le path il réussie dans la lecture

Discussions similaires

  1. [Struts][JSP] Inclure une page à partir d'un URL
    Par laurent_m dans le forum Struts 1
    Réponses: 1
    Dernier message: 17/04/2007, 16h15
  2. Réponses: 1
    Dernier message: 09/02/2007, 09h23
  3. [MySQL] Modification des enregistrements d'une table à partir d'un formulaire
    Par Maria1505 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 18/12/2006, 17h32
  4. Réponses: 39
    Dernier message: 28/07/2006, 14h22
  5. Créer une vidéo à partir d'images...
    Par PCMan dans le forum Langage
    Réponses: 6
    Dernier message: 16/10/2005, 17h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo