如何“裁剪”用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
答
如果你想这样做在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类? –
我相信mencoder也可以做到这一点。 – marchaos