我们可以通过Android中的Stream链接下载音乐吗?

时间:2014-10-14 04:48:27

标签: android stream download

我正在开发一个在线音乐Android应用程序,我需要在第三方服务器上下载一些音乐,但他们只给我流链接,所以我找到了一种只通过流链接下载音乐的方法。

我的朋友在iOS工作,他可以​​通过将流包合并到音乐文件来在iOS中完成。

1 个答案:

答案 0 :(得分:1)

如果您想从任何网址播放和下载.mp3文件,请按照建议的代码进行操作。

但是,如果您想从服务器下载文件并将其存储在SD卡或内部存储设备上的任何位置,请遵循此代码,

private class DownloadFile extends AsyncTask<String, Integer, String>{
        @Override
        protected String doInBackground(String... url) {
            int count;
            try {
                URL url = new URL("url of your .mp3 file");
                URLConnection conexion = url.openConnection();
                conexion.connect();
                // this will be useful so that you can show a tipical 0-100% progress bar
                int lenghtOfFile = conexion.getContentLength();

                // downlod the file
                InputStream input = new BufferedInputStream(url.openStream());
                OutputStream output = new FileOutputStream("/sdcard/somewhere/nameofthefile.mp3");

                byte data[] = new byte[1024];

                long total = 0;

                while ((count = input.read(data)) != -1) {
                    total += count;
                    // publishing the progress....
                    publishProgress((int)(total*100/lenghtOfFile));
                    output.write(data, 0, count);
                }

                output.flush();
                output.close();
                input.close();
            } catch (Exception e) {}
            return null;
        }

编辑:显示权限:

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