2017-07-06 1 views
1

Ich versuche, eine MP3-Datei von einem Server herunterzuladen. Ich habe es erfolgreich gemacht, und ich kann die Datei abspielen, aber es gibt keine Vorschaubilder und Dateiinformationen, wie Künstler- und Albumnamen.Android AsyncTask herunterladen. MP3-Datei - Info und thumbnail

Wenn ich die Datei direkt von Chrome herunterlade, werden die oben angegebenen Informationen heruntergeladen. Irgendwelche Ideen, wie es funktioniert?

Hier ist mein Code:

  URL url = new URL(urlDwn+urlVid); 

      HttpURLConnection connection =(HttpURLConnection) url.openConnection(); 
      connection.connect(); 

      //file length 
      int lengthOfFile = connection.getContentLength(); 
      //intput - read file 
      InputStream inputStream = new BufferedInputStream(url.openStream(), 8192); 

      //output - write file 
      if(true) { 
       System.out.println("Downloading"); 
       OutputStream outputStream = new FileOutputStream(root+"/"+fileName); 
       System.out.println(root+"/"+fileName); 
       byte data[] = new byte[1024]; 
       long total = 0; 
       while ((count = inputStream.read(data)) != -1) { 
        total += count; 
        //progress 
        publishProgress((int) ((total * 100)/lengthOfFile)); 

        //writing to file 
        outputStream.write(data,0, count); 
       } 
       outputStream.flush(); 
       outputStream.close(); 
       inputStream.close(); 
+0

vielleicht das Problem, wie Sie das Thumbnail und Info abrufen? –

+0

Wie kann ich es abrufen? –

+0

Sie erhalten es irgendwie, wenn Sie es über Chrome herunterladen. –

Antwort

1

I GELÖST IT!

Es scheint, dass die Miniaturansicht und mp3-Tag (Künstler und etc) ordnungsgemäß heruntergeladen wurden. das Problem lag im Dateimanager selbst (oder vielleicht im Android-System), also als ich das Gerät neu startete, zeigte es sich!

EDIT

Es gibt keine Notwendigkeit, neu zu starten. Sie müssen lediglich die folgenden Zeilen zur onPostExecute-Methode hinzufügen, die dem System mitteilt, dass eine neue Datei hinzugefügt wurde.

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
intent.setData(Uri.fromFile(file)); 
sendBroadcast(intent);