在我的Android应用程序上从服务器下载视频或音频文件

时间:2013-01-01 16:31:43

标签: android


我正在开发一个Android应用程序,使用链接从我的服务器下载视频文件。 我正在使用对浏览器的意向调用来做这件事 使用任何浏览器打开链接会打开文件并开始播放。 但我想做的是开始将视频下载到SD卡 视频格式为.mp4
以及我打电话打开我的应用程序中的链接的方式是这样的:

Intent browserIntent=new Intent(Intent.ACTION_VIEW,Uri.parse(myUrl));
startActivity(browserIntent);

2 个答案:

答案 0 :(得分:2)

大!你找到了最好的答案,无论如何,我使用下面的代码从服务器下载视频。你也可以参考。谢谢。

class DownloadFileFromURL extends AsyncTask<Object, String, Integer> {



        @Override
        protected void onPreExecute() {
            super.onPreExecute();


        }


        @Override
        protected void onCancelled() {
            super.onCancelled();

        }

        /**
         * Downloading file in background thread
         * */
        @Override
        protected Integer doInBackground(Object... params) {

            try {

                URL url = new URL((String) params[1]);

                name = ((String) params[1]).substring(((String) params[1])
                        .lastIndexOf("/") + 1);
                // Log.v("log_tag", "name Substring ::: " + name);
                URLConnection conection = url.openConnection();
                conection.connect();
                // getting file length
                int lenghtOfFile = conection.getContentLength();

                // input stream to read file - with 8k buffer
                InputStream input = new BufferedInputStream(url.openStream(),
                        8192);
                File download = new File(Environment.getExternalStorageDirectory()
                        + "/download/");
                if (!download.exists()) {
                    download.mkdir();
                }
                String strDownloaDuRL = download + "/" + name;
                Log.v("log_tag", " down url   " + strDownloaDuRL);
                FileOutputStream output = new FileOutputStream(strDownloaDuRL);

                byte data[] = new byte[1024];

                long total = 0;

                }
                // flushing output
                output.flush();

                // closing streams
                output.close();
                input.close();

            } catch (Exception e) {
                Log.e("Error: ", e.getMessage());
            }
            return 0;

        }




        protected void onPostExecute(String file_url) {

         // Do after downloaded file

        }

    }

答案 1 :(得分:1)

我找到了解决方案,试试这个链接

http://www.vogella.com/blog/2011/06/14/android-downloadmanager-example/