Как «обрезать» аудиофайл в Java, C # или PHP (для браузера) - PullRequest
2 голосов
/ 27 июня 2011

Я пытаюсь создать веб-приложение, для которого требуется эта функция:

Предположим, у меня есть файл .mp3, я хочу выбрать / загрузить этот файл, а затем создать новый файл с 0:15 до 0:30 (пример), а затем сохранить как новый .mp3 /. WAV.

Поскольку он должен выходить в Интернет, будет предпочтительнее в PHP, но, как я сильно сомневаюсь, это возможно, Java (Applets) или C # (ASP.NET) приемлемы и высоко ценятся.

Заранее спасибо.

Ответы [ 2 ]

5 голосов
/ 27 июня 2011

Лучший способ сделать это с FFMPEG .Для него существует расширение PHP , но я обычно обнаружил, что проще всего вызвать его с помощью 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

4 голосов
/ 28 июня 2011

Если вы хотите сделать это на 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);
            
...