使用元数据/属性(如标题,艺术家等)下载mp3

时间:2012-01-19 06:32:58

标签: java android mp3 metadata

我有以下代码。一切正常,但下载的MP3文件在使用默认音乐播放器播放时没有任何属性(元数据),如艺术家,标题等。如果尝试使用Android浏览器直接从网站下载相同的mp3文件并使用默认音乐播放器播放,则所有元数据都是完整的(即音乐播放器显示标题,艺术家等)。

    @Override
    protected String doInBackground(String... aurl) {
        int count;

        i = Integer.parseInt(aurl[0]);
        try {
            sura = "abc.mp3";
            String addr = "http://www.xyzabc.com/" + sura;

            URL url = new URL(addr);
            HttpURLConnection conexion = (HttpURLConnection) url.openConnection();
              conexion.setRequestMethod("GET");
                conexion.setDoOutput(true);
            conexion.connect();

            int lenghtOfFile = conexion.getContentLength();

            InputStream input = new BufferedInputStream(url.openStream());
            File file = new File(rootDir + "/mysite/" + sura);
            OutputStream output = new FileOutputStream(file);

            byte data[] = new byte[1024];

            long total = 0;

            while ((count = input.read(data)) != -1 & run == true) {
                total += count;
                publishProgress("" + (int) ((total * 100) / lenghtOfFile));
                output.write(data, 0, count);
            }

            output.flush();
            output.close();
            input.close();

        } catch (Exception e) {
        }

        return null;
    }

1 个答案:

答案 0 :(得分:1)

下载完成后,系统内容提供商不会立即更新。 尝试重新启动模拟器或安装/卸载SD卡,查看内容提供商是否更新。

uri是MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,你可以通过查询MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.COMPOSER, MediaStore.Audio.Media.ALBUM, MediaStore.Audio.Media.ARTIST和其他人获取详细信息(All in MediaStore.Audio.Media。*)

如果您想立即获取信息,也许您应该自己更新内容提供商手册。