2014-06-15 12 views
-1

J'essaie de télécharger un fichier mp3 à partir d'une URL et de sauvegarder ut sur la carte SD dans un dossier de musique. Mais peu importe ce que je fais, je ne l'enregistre pas sur le SD, il le télécharge simplement et après, tout en essayant de le trouver il n'y a pas wher et obe trouvé.Enregistrement d'un fichier mp3 sur sd

Voici mon code dans la classe de tâche async:

protected String doInBackground(String... params) { 
try{ 
URL url = new URL(params[0]); 
HttpURLConnection connection = (HttpURLConnection)  url.openConnection(); 
      connection.setRequestMethod("GET"); 
      connection.setDoOutput(true); 
      connection.connect(); 

      File sd = Environment.getExternalStorageDirectory(); 
      File file = new File(sd, "TestSongs.mp3"); 


      FileOutputStream outputStream = new FileOutputStream(file); 
      InputStream inputStream = connection.getInputStream(); 
      int totalsize = connection.getContentLength(); 
      int downloadSize = 0; 

      byte[] buffer = new byte[1024]; 
      int bufferLength = 0; 
      while((bufferLength = inputStream.read(buffer)) > 0) { 
       outputStream.write(buffer, 0 , bufferLength); 
       downloadSize += bufferLength; 
       publishProgress("" + (int) ((downloadSize * 100)/totalsize)); 
      } 
      outputStream.close(); 

     }catch(Exception e) { 
      Log.d(TAG, e.getMessage()); 
     } 
     return null; 
    } 
+0

Etes-vous sûr que vous avez défini le approprié autorisations dans le manifeste? epiphany27

Répondre

0

Ajouter

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

quelque part à l'intérieur du votre manifeste, en dehors de la balise <application></application>

Questions connexes