如何“裁剪”用Java,C#或PHP(用于浏览器)的音频文件

问题描述:

我试图创建需要此功能的Web应用程序:如何“裁剪”用Java,C#或PHP(用于浏览器)的音频文件

假设我有一个.MP3文件,我想选择/上传此文件,然后从0:15到0:30(例如)创建一个新文件,然后保存为新的.mp3/.wav。因为它应该放在网上,所以最好在PHP中使用,但由于我非常怀疑这是可能的,所以Java(Applets)或C#(ASP.NET)是可以接受的并且非常感谢。

在此先感谢。

最好的办法是用FFMPEG。有一个PHP extension for it,但我通常发现最简单的就是用exec()来调用它。

ffmpeg -ss 00:00:15 -t 15 -i yourfile.mp3 -acodec copy outputfile.mp3

此处了解详情:http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs

+0

我相信mencoder也可以做到这一点。 – marchaos

如果你想这样做在Java中,你可以使用AudioSamples类从JAudio

 

// read the file into an AudioSamples object 
AudioSamples as = new AudioSamples(new File("originalFile.mp3"),"",false); 

// get the audio from 15 to 30 seconds 
double[][] samples = as.getSamplesChannelSegregated(15.0, 30.0); 

// discard the rest of the samples 
as.setSamples(samples); 

// write the samples to a .wav file 
as.saveAudio(new File("newAudioFileName.wav"), true, AudioFileFormat.Type.WAVE, false); 
     
+0

我们在哪里获得AudioSamples类? –