powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Объединение нескольких mp3 файлов в один mp3 файл.
9 сообщений из 9, страница 1 из 1
Объединение нескольких mp3 файлов в один mp3 файл.
    #38866817
spaceXY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Есть задача объединить несколько mp3 файлов в один mp3 файл для android. Прогуглил и нашел простое решение:

авторpublic void mergeSongs(File mergedFile,File...mp3Files){
FileInputStream fisToFinal = null;
FileOutputStream fos = null;
try {
fos = new FileOutputStream(mergedFile);
fisToFinal = new FileInputStream(mergedFile);
for(File mp3File:mp3Files){
if(!mp3File.exists())
continue;
FileInputStream fisSong = new FileInputStream(mp3File);
SequenceInputStream sis = new SequenceInputStream(fisToFinal, fisSong);
byte[] buf = new byte[1024];
try {
for (int readNum; (readNum = fisSong.read(buf)) != -1;)
fos.write(buf, 0, readNum);
} finally {
if(fisSong!=null){
fisSong.close();
}
if(sis!=null){
sis.close();
}
}
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(fos!=null){
fos.flush();
fos.close();
}
if(fisToFinal!=null){
fisToFinal.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}


Протестировал, работает. Создал apk, загрузил на htc one, тоже работает. Загрузил на tvbox minix neo x5, там работает коряво. В общем вариант конкатенации выше не подходит. Как можно качественней эту операцию сделать?
...
Рейтинг: 0 / 0
Объединение нескольких mp3 файлов в один mp3 файл.
    #38866829
RWolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрать каждый файл на фреймы, склеить их и снова собрать согласно спецификации формата MP3.
...
Рейтинг: 0 / 0
Объединение нескольких mp3 файлов в один mp3 файл.
    #38866923
spaceXY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это программно реализуемо?
...
Рейтинг: 0 / 0
Объединение нескольких mp3 файлов в один mp3 файл.
    #38867015
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любой звуковик скажет что склеивать звуки надо через кросс-фейдинг.
По смыслу - это нахлёст в интервал 3-х секунд где один источник уменьшает
свой уровень от макс левела до предельно низкого а второй - "плавно
включается в работу".

Этот эффект обычно получают в базисе ИКМ представления музыки. Тоесть
ее надо декодировать. Слить с cross-fade и закодировать снова.

Любые другие способы склейки порождают щелчки и треск в месте соединения.
...
Рейтинг: 0 / 0
Объединение нескольких mp3 файлов в один mp3 файл.
    #38867349
spaceXY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как на счет продемонстрировать на практике? Или ссылку скинуть на работающий код? Или какую библиотеку указать, где это делается? Дело в том, что я не звуковик и кроме объединения двух mp3 в один, мне со звуком делать ничего не надо, поэтому не хочется тратить время на то, что бы лезть во всякие тонкости обработки звука. Да и велосипед изобретать не хочется.
...
Рейтинг: 0 / 0
Объединение нескольких mp3 файлов в один mp3 файл.
    #38867773
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда забей. Делай как делал.
...
Рейтинг: 0 / 0
Объединение нескольких mp3 файлов в один mp3 файл.
    #38867792
spaceXY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел решение здесь http://www.jsresources.org/examples/AudioConcat.html . Правда mp3 не поддерживает, ну да ладно, сделал в формате wav. Соединил файлы без нареканий, НО использует библиотеку javax.sound, а в android этой библиотеки нет. Кто знает, в android есть аналогия библиотеки javax.sound? Интересуют классы javax.sound.sampled.AudioInputStream, javax.sound.sampled.AudioSystem.
...
Рейтинг: 0 / 0
Объединение нескольких mp3 файлов в один mp3 файл.
    #38868943
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предположение:

mp3 кроме звука могут содержать мета-данные ID3v1 и/или ID3v2
полагаю, что можно объединить mp3 обычной конкатенацией предварительно удалив ID3v1 и ID3v2

читать o id3 начинать здесь:
https://ru.wikipedia.org/wiki/ID3_(метаданные)

определить наличие о отрезать эти данные можно довольно простым жава кодом

прежде чем кодить, идею надо проверить - удалить эти данные вручную (aimp или winamp в помощь),
соединить файлы ( copy 1.mp3 +2.mp3 out.mp3 ) и проверить out.mp3 на интересующем девайсе
...
Рейтинг: 0 / 0
Объединение нескольких mp3 файлов в один mp3 файл.
    #38869118
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обсуждение разработок под андроид лучше перенести сюда
http://www.sql.ru/forum/android
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Объединение нескольких mp3 файлов в один mp3 файл.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]