try {
            URL url=new URL("http://2017.wma.9ku.com/file/323/322347.wma");
            HttpURLConnection UrlCon=(HttpURLConnection) url.openConnection();
            InputStream is=UrlCon.getInputStream();
            File file = new File("/mnt/sdcard/shang.wma");   
            OutputStream output = new FileOutputStream(file);   
            String str="",line;
            //byte b=127;
            byte[] buffer=new byte[4*1024];
            while(is.read(buffer)!=-1){
                output.write(buffer);
            }
            
            output.flush();
            output.close();
            Log.v("message", "ok");
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
1.下载的shang.wma不能播放?求解?
2.这个句有什么用:output.flush();如果把它删了,下载的歌曲还能正常播放么?
3.byte数组的大小与什么有关(有什么意思)

解决方案 »

  1.   

    android不支持wma音乐格式
    下载先放缓存,缓存满了写文件,剩最后几个字节不满,flush是把这部分内容全部写到文件中,以免文件内容丢失
    决定缓存大小,主要看文件大小决定用多大的byte字节数组
      

  2.   

    官方原生系统是不支持wma格式的音乐的,如果你想播放wma的话,需要改动多媒体服务部分的代码,将ffmpeg移植进去就好了。