从某网站下载MP3的例子。为安全起见,将网站信息匿了。
package tools.download;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class DownloadMP3 {
private static final String SITE = ...
private static final String SAVE_PATH = ...
private static int BUFFER_SIZE = 1024 * 8;
public boolean downloadSrc(String strURL, String saveFile) {
// strURL validation ....
BufferedInputStream bis = null;
FileOutputStream fos = null;
byte[] buf = new byte[BUFFER_SIZE];
try {
File dir = new File(saveFile);
if (!(dir.exists()) && !(dir.isDirectory())) {
boolean created = dir.mkdirs();
if (created) {
System.out.println("创建文件夹成功!");
} else {
System.out.println("创建文件夹失败!");
}
}
int lastIndex = strURL.lastIndexOf("/");
saveFile = saveFile + strURL.substring(lastIndex + 1);
URL url = new URL(strURL);
URLConnection con = url.openConnection();
long len = con.getContentLength();
con.connect();
bis = new BufferedInputStream(con.getInputStream());
fos = new FileOutputStream(saveFile);
int size = 0;
int progress = 0;
while ((size = bis.read(buf)) != -1) {
// System.out.print("_");
fos.write(buf, 0, size);
progress++;
System.out.print(".");
if (progress % 80 == 0) {
System.out.print("\n");
progress = 0;
}
}
fos.close();
bis.close();
File fsaved = new File(saveFile);
long fileLen = fsaved.length();
if (progress > 0)
System.out.print("\n");
System.out.println(len);
System.out.println(fileLen);
if (len == fileLen) {
return true;
} else {
return false;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return false;
}
/**
* Specific download
*/
public void downloadSite() {
final int V = 34;
final int MAX_TUNES = 20;
int total = 0, failed = 0, success = 0;
for (int i = 1; i <= MAX_TUNES; i++) {
String strURL = ...
String saveFile = ...
System.out.println(strURL);
boolean successful = downloadSrc(strURL, saveFile);
total ++;
if (successful) {
success++;
System.out.println("Done - " + saveFile + "\n");
} else {
failed++;
System.out.println("Failed.\n");
}
}
System.out.println("Total: " + total + "; succeed: " + success + "; failed: " + failed);
}
public static void main(String[] args) {
DownloadMP3 dlmp3 = new DownloadMP3();
dlmp3.downloadSite();
}
}
分享到:
相关推荐
这个C++编写的MP3例子是一个编程实践项目,旨在展示如何在C++环境中处理音频文件,特别是MP3格式的音频。MP3是一种广泛使用的数字音频编码格式,它通过有损压缩技术在保持可接受音质的同时,大大减小了文件大小,...
这句描述可能是用户对于某个MP3格式化工具或服务的高度评价。用户通过个人体验表达了对它的满意,认为该工具或服务效果显著,推荐其他人尝试。通常,这样的工具可能包括了诸如将其他音频格式转换为MP3、调整音频质量...
mid-wav文件 226 实例154 获取多媒体详细信息列表 227 5.2 MP3、WAV播放 228 实例155 带记忆功能的MP3播放器 228 实例156 自动播放的MP3播放器 231 实例157 学校体操定时音乐播放 233 ...
用VFW.h库中的MCI函数开发的简单mp3播放器工具,实现在顺序播放某个目录中所有mp3音乐文件功能,可以在播放列表中单击文件名选择播放文件,可以播放前一个、后一个音乐文件等功能。为想学习这方面编程的朋友提供一个...
《易语言MP3分类器》是一款使用易语言开发的实用工具,主要功能是对MP3音乐文件进行自动分类和管理。易语言是一种以中文为编程语言的编程环境,它旨在降低编程难度,让更多人能参与到程序设计中来。这款MP3分类器...
这通常在视图控制器的某个初始化方法或视图加载方法中完成。例如,在Objective-C中: ```objective-c NSURL *audioFileURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"yourSong" ofType:@...
使用Audition的音量调整工具,可以为每个音轨设置合适的输入和输出级别,避免某个音轨过于突出或被掩盖。 7. **声相定位**:通过调整声相,可以创造出立体的听觉效果。例如,一首歌曲可以放在左声道,另一首放在右...
- **Red5下载**:访问官方网站[osflash.org/red5](http://www.osflash.org/red5)下载Red5 v0.7.0 Final版本的Windows安装包。 - **安装步骤**: 1. 下载安装包后直接运行安装程序。 2. 在安装过程中指定安装目录。...
和标签提供了播放、暂停、音量控制等功能,同时支持多种格式,如MP3、AAC、WebM等。 4. canvas画布:HTML5的元素允许开发者通过JavaScript进行动态图形绘制,实现了丰富的交互式和动画效果,广泛应用于游戏、图表、...
常见的音频格式如WAV、MP3等,C#可以使用NAudio库来读取和处理。如果是WAV文件,可以直接使用DirectX的`SecondaryBuffer`来加载。 3. **缓冲区创建**:在DirectSound中,声音数据被存储在缓冲区中。我们可以创建一...
这可能是由于Twilio服务器位于国外,从你的腾讯云服务器加载MP3文件需要较长时间。为了解决这个问题,你可以将MP3文件上传到一个国外的公共网站,这样Twilio可以更快地获取到文件。这样,电话接通后,音频几乎能立即...
断点续传是一种在网络上传输大文件时非常实用的技术,它允许用户在因网络问题中断下载后,从上次中断的地方继续下载,而不需要重新开始。在PHP中实现断点续传下载,主要涉及到HTTP协议中的Range头信息以及文件处理...
例如,`pydub.AudioSegment.from_mp3()`用于从MP3文件创建一个AudioSegment对象。 6. **保存或输出结果**:最后,你可以将处理后的数据保存到新文件,或直接在代码中使用这些信息。 这个压缩包"amprise-master"很...
以上只是部分词汇的解释,通过这些例子可以看出,掌握这些词汇不仅能够帮助我们在日常交流中更加自如,也能在专业领域内更准确地表达自己的想法。继续深入学习这些词汇及其用法,将有助于提高英语水平,并在职场上...
要先下载mugen的主程序,然后: MUGEN有六个文件夹,chars就是放人物的地方(支持文件夹),stages是游戏背景的地方可以自己放进去,font是游戏字体也就是A,B,C,D.... 1234567890和时间无限的字体,可以用工具改 ...
在这个例子中,`id`属性用于唯一标识这个音频元素,`src`属性则指定了音频文件的路径。如果用户的浏览器不支持`<audio>`标签,"Your browser does not support the audio element."这段文本将会显示出来。 接下来,...
虽然许多网站提供免费下载,但确保获取铃声的途径合法是很重要的,以免侵犯知识产权。 7. **音频转换工具**: 如果手机不支持某铃声文件的格式,可以使用音频转换工具将其转换为兼容的格式。例如,可以将MP3转换为...
在音乐方面,铃声不仅仅是一段简短的旋律,它可能代表着一个时代的记忆,或者与某个品牌紧密关联。摩托罗拉的"hello moto"就是这样的例子,它不仅是手机铃声,更成为了摩托罗拉品牌的象征。音乐爱好者可能会收藏各种...
定义与程序打开的文件,创建一种关联,双击文件,即可使用相关的程序打开文件,类似于安装完某程序后,自动将相关文件的打开程序定义为自己,就好比现在好多的播放器软件,安装后,会关联MP3文件、MPEG或RMVB等。...