Прочитал статью на хабре о структуре Mp3-файла. Ссылка на статью в комменте, так как в посте мне опять не дадут оставить. Скачал плагин hex-редактор для NotePad++. Открыл в нем mp3-файл. Всё сделал по формуле. Из размера файла в байтах вычел id3 данные, затем поделил на продолжительность в секундах и получил размер одной секунды в байтах. Попробовал вырезать первые 30 секунд песни. Получилось с точностью до долей секунды. Первые 2 песни вырезал успешно. Но с третьей песней появились проблемы. В неё вшита картинка и когда я режу, на выходе песня начинается на полторы секунды раньше, чем нужно. Так и не понял в чем проблема. Размер картинки конечно же учитываю. Она находится в id3 данных и её размер я вычитаю прежде чем делить на секунды.
Если кому-то интересно разобраться и заодно помочь, скачать проблемную песню можете по ссылке в комментарии. Пробовал вырезать первые 68 секунд.
Почему сразу не в блокноте резать?
Если по сути вот
ffmpeg -ss 00:00:30.00 -t 25 -i bar.mp3 -acodec copy bar-new.mp3
режет с любой точностью любой файл который скормишь, даже видео
вопрос был не в том, какую библиотеку мне выбрать для этого. Я знаю про ffmpeg. Очевидно же, что я просто хочу разобраться в этом. Неужели вы думаете, что я буду обрезать mp3 в редакторе?