下载一首网络歌曲 该歌曲地址获取不到歌曲的大小,但可以正常播放
有些歌曲的下载地址,无法获得歌曲的大小:但可以正常播放
player.reset();
player.setDataSource(currSoundFileUrl);
System.out.println("yuan网址:" + currSoundFileUrl);
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.prepare();
soundLength = player.getDuration();
soundLength有时获取不到歌曲的大小,为0;
这时最好是下载到本地再读取本地歌曲,用完时将歌曲删除:
下面是下载该类歌曲的代码:
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
URL url = new URL("http://218.94.93.115:8002/audioservernews/news/file2/news/tqh/air/download/52579f60c8f27d5f81c3d8b2?rate=wma/");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Accept-Encoding", "identity");
int lene = conn.getContentLength();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
int len = -1;
byte[] buf = new byte[1024 * 8];
File file = new File("/mnt/sdcard/hello.wma");
RandomAccessFile raf = new RandomAccessFile(file, "rw");
raf.seek(0);
while((len = bis.read(buf)) != -1){
raf.write(buf, 0, len);
}
System.out.println("hello>>" + lene);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
源码下载
return null;
}
}.execute();
相关文章
- springmvc接口ios网络请求
- iperf 测试网络性能指标
- 重温网络编程——常识(三)
- 开源流媒体服务器EasyDarwin支持epoll网络模型,大大提升流媒体服务器网络并发性能
- 【刷题】面筋-网络-HTTP的请求类型和状态码
- 重新点亮linux 命令树————修改网络配置[十一四]
- 网络编程之通俗讲解,有了IP地址,为何还要用MAC地址?
- Atitit 为什么网络会有延时 电路交换与分组交换的区别
- Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php
- iOS swift 网络请求框架(AFN/Moya/Alamofire)和原生API
- 基于长短期记忆网络的电力负荷预测(Python代码实现)
- 【Python3网络爬虫开发实战】1.2.4-GeckoDriver的安装
- 【华为云技术分享】《跟唐老师学习云网络》—我的网络概念
- 网络流柱
- 《Kubernetes网络权威指南》读书笔记 | 如何做好技术选型:容器组网方案沙场点兵
- 网络知识===关于MAC地址和IP不能互相替代,缺一不可的原因
- Docker----Docker自定义网络
- 【算力网络】算力网络的发展路径设想