Комбинация / Конкатенация MP3-файлов на сервере с использованием PHP

У меня есть сайт, на котором будут размещаться небольшие MP3-файлы.

Я хочу создать утилиту, которая позволит мне объединить mp3-файлы вместе, чтобы создать один файл MP3.

Я немного новичок в PHP, но не новичок в программировании.

В идеале у меня была бы функция, позволяющая указать начальный файл, а затем добавить второй файл в существующий файл.

function appendMP3(originalMP3, newChunk){ originalMP3 = originalMP3 + newChunk; return newMP3 } compilation = append(compilaton, "sound.mp3"); 

С чего начать? Существуют ли какие-либо существующие ресурсы?

Если вы можете получить доступ к оболочке из PHP в своей среде, я бы просто позвонил в оболочку (с оператором backtick ) и использовал SoX .

Не уверен, как хорошо это сработает, но этот блог по слиянию mp3 с php может вам помочь.

Кроме того, в зависимости от того, на каком сервере он включен, у вас может быть доступ к таким инструментам, как sox, используя вызовы system ().

Я бы предложил взглянуть на функцию fopen PHP. Если объединить два файла MP3 так же просто, как набивание битов вместе, то вы должны иметь возможность использовать fopen (не забудьте флаг «b» для двоичного файла) и fwrite для чтения в данных из одного файла и добавления его в Другие.

Существует библиотека под названием getID3 . Он имеет возможность объединить несколько файлов MP3 в один, хотя я никогда не использовал эту функцию. Существует демонстрационная версия на сайте Source Forge getID3 здесь http://getid3.sourceforge.net/source/demo.joinmp3.phps . Кажется, что он работает без использования каких-либо системных вызовов в командной строке.

Я использовал эту библиотеку для получения длин и других данных из различных медиаформатов. Оно работало завораживающе. Однако, как сказано, я не тестировал функцию CombineMultipleMP3sTo () в ней …

Вы должны протестировать это так, как если бы это сработало для вас, это было бы намного проще, чем LAME (которое, на мой взгляд, мощно, но довольно сложно использовать).