【问题标题】:Programmatically Create MP3以编程方式创建 MP3
【发布时间】:2017-11-15 12:43:10
【问题描述】:

我正在尝试创建自己的 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 文件呢?

【问题讨论】:

    标签: java mp3


    【解决方案1】:

    在回答您的问题之前,让我先解释一下数字音频和 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 压缩库。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2010-10-07
      • 2013-03-28
      • 2013-07-25
      • 2013-07-22
      • 2018-06-04
      • 2015-03-17
      • 2013-11-24
      • 2016-01-01
      • 2011-03-04
      相关资源
      最近更新 更多