我正在尝试创建自己的MP3音频文件。我该怎么做呢?
File mySong = new File("generated song.mp3");
FileOutputStream song = new FileOutputStream(mySong);
for (int n = 0; n < 3000; n++){
song.write(n % 256);
}
song.close();
我尝试了上面的代码,但是当我尝试播放时,Windows给了我一个错误。我想必须有一些开头和结尾的字节序列,我需要写入文件,以便正确解码。那么,我怎么能生成自己的.MP3文件?
答案 0 :(得分:4)
在回答您的问题之前,让我解释一下数字音频和MP3的一些关键概念。
MP3是压缩的数字音频文件。原始形式的数字音频由音频“样本”组成。典型的44.1 kHz单声道(单声道)原始音频将具有44100个音频样本,每个样本大小为16位。如果是立体声,那么将有44100 x 2个样本,每个样本大小为16位。请注意,5分钟的原始音频文件大小为50MB。
MP3是压缩音频。它采用复杂的压缩算法来减小音频的大小。因此,您无法编写原始音频文件的写入方式。
有两种方法可以创建自己的MP3文件。
(1)创建一个原始WAV文件,然后使用压缩库将其编码为MP3。您可以查看此答案Is there any pure java way to convert .wav to .mp3?
(2)使用接受原始样本的MP3压缩库。
希望有所帮助。