千家信息网

Android如何使用URLConnection下载音频文件

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要为大家展示了"Android如何使用URLConnection下载音频文件",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Android如何使用
千家信息网最后更新 2026年11月04日Android如何使用URLConnection下载音频文件

这篇文章主要为大家展示了"Android如何使用URLConnection下载音频文件",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Android如何使用URLConnection下载音频文件"这篇文章吧。

使用MediaPlayer播放在线音频,请参考Android MediaPlayer 播放音频

有时候我们会需要下载音频文件。这里提供一种思路,将在线音频文件通过流写到本地文件中。

使用URLConnection来建立连接,获取到的数据写到文件中。

URLConnection建立连接后,可以获取到数据长度。由此我们可以计算出下载进度。

public class DownloadStreamThread extends Thread { String urlStr; final String targetFileAbsPath; public DownloadStreamThread(String urlStr, String targetFileAbsPath) { this.urlStr = urlStr; this.targetFileAbsPath = targetFileAbsPath; } @Override public void run() { super.run(); int count; File targetFile = new File(targetFileAbsPath); try { boolean n = targetFile.createNewFile(); Log.d(TAG, "Create new file: " + n + ", " + targetFile); } catch (IOException e) { Log.e(TAG, "run: ", e); } try { URL url = new URL(urlStr); URLConnection connection = url.openConnection(); connection.connect(); int contentLength = connection.getContentLength(); InputStream input = new BufferedInputStream(url.openStream()); OutputStream output = new FileOutputStream(targetFileAbsPath); byte[] buffer = new byte[1024]; long total = 0; while ((count = input.read(buffer)) != -1) { total += count; Log.d(TAG, String.format(Locale.CHINA, "Download progress: %.2f%%", 100 * (total / (double) contentLength))); output.write(buffer, 0, count); } output.flush(); output.close(); input.close(); } catch (Exception e) { Log.e(TAG, "run: ", e); } } }

启动下载,即启动线程。

new DownloadStreamThread(urlStr, targetFileAbsPath).start();

值得注意的是,如果本地已经有了文件,需要做一些逻辑判断。例如是否删掉旧文件,重新下载。或是判断出已有文件,中止此次下载任务。

例如可以用connection.getContentLength()与当前文件长度来比较,如果不一致,则删掉本地文件,重新下载。

实际上,URLConnection能处理很多流媒体。在这里是用来下载音频文件。可以实现下载功能和类似"边下边播"的功能。

以上是"Android如何使用URLConnection下载音频文件"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

文件 音频 内容 篇文章 功能 数据 长度 在线 学习 帮助 一致 任务 实际 实际上 思路 易懂 更多 有时候 条理 流媒 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技活动banner 互联网科技的 互联网科技的发展 智慧科技互联网 汉立互联网科技有限公司联系电话 福州新华互联网科技学校 知乎 科技与互联网哪个更好 湖南诚度互联网科技有限公司 互联网校园科技培训 开一家科技互联网公司需要多少钱 用友工业互联网科技发展 广州百诚互联网科技有限公司官网 互联网领先科技宣传片 互联网安防科技感 江苏互联网科技小贷 互联网界的黑科技 上海万顺科技互联网有限公司招聘 互联网金融运营模式中的金融科技 云南互联网科技学费 互联网科技创业有什么好项目 互联网科技开发公司 贷财互联网科技 长亮科技 互联网金融 深圳卡尔迅互联网科技有限公司怎么样 海南购全球互联网科技 安控科技rtu产品工业互联网 科技赋能互联网健康 智帮互联网科技公司最近动向 宁波允成互联网科技有限公司 六子台科技互联网展会
0