Как конвертировать 24-битный wav в mp3 с помощью Lame с помощью C++

Я использую библиотеку Lame в приложении C++ для кодирования файлов wav в файлы mp3.

Это нормально работает для 16-битных wav-файлов, но теперь мне нужно преобразовать некоторые 24-битные wav-файлы, и я не могу найти способ. В частности, я не могу найти функцию установки параметра "битность", взятого в качестве переключателя хромой командной строкой. (Исполняемый файл командной строки правильно конвертирует 24-битные wav-файлы при установке «битовой ширины» на 24, поэтому я думаю, что это должно быть возможно.)

Заранее спасибо за любую подсказку!


person ACEG    schedule 21.07.2010    source источник


Ответы (1)


Исполняемый файл командной строки правильно конвертирует 24-битные wav-файлы при установке «битовой ширины» на 24, поэтому я думаю, что это должно быть возможно

Возможно, тогда решение состоит в том, чтобы просмотреть исходный код утилиты командной строки или даже запустите его в отладчике и посмотрите, как он это делает.

person Clifford    schedule 21.07.2010
comment
Извините, что не ответила раньше, какой-то лихорадочный период на работе. Спасибо за совет! к сожалению, хромой внутренне представляет собой большой пакет спагетти-кода - в итоге я сгенерировал wav-файлы различной битовой ширины с помощью MatLab: красиво и чисто. - person ACEG; 25.02.2011
comment
@Cristina: Вот почему я предложил использовать отладчик; тогда вам нужно только следовать потоку выполнения для вашего конкретного вызова. Все, что, как я полагаю, вам нужно сделать, это отслеживать, как обрабатывается 24-битный аргумент. - person Clifford; 26.02.2011
comment
Да, я использовал отладчик... Я сейчас точно не помню, как это было, потому что это было давно, но были какие-то странные глобальные переменные, которые появились из ниоткуда или что-то в этом роде. Может быть, если бы я использовал C++ больше, чем пару месяцев, это было бы яснее. Итог, за то короткое время, что у нас было в наличии, это не стоило хлопот ;-) - person ACEG; 28.02.2011
comment
@Cristina: Поверь мне, это всегда стоит проблем. Это должно быть вторым, о чем вы узнаете после приветствия, мир, так как это сэкономит вам часы. Однако, если вы используете отладчик C, который не полностью поддерживает C++, результаты могут сбивать с толку, но вы вряд ли встретите такой отладчик за пределами разработки встроенных систем, где даже тогда отладчики в основном осведомлены о C++ в наши дни. - person Clifford; 28.02.2011
comment
Да, конечно! Я абсолютно согласен. Я понимаю, что мои предыдущие ответы, вероятно, показались нубом, который думает, что отладка слишком эзотерична, но на самом деле я всегда использую отладку в таких случаях. Однако в данном случае это был просто выбор между отладкой плохо структурированного и недокументированного кода или поиском более легкого пути. Если бы это был какой-то личный любимый проект, у меня не было бы проблем с тем, чтобы потратить еще немного времени, чтобы выяснить, что происходит. Но когда у вас крайний срок контракта, к сожалению, имеет значение, делаете ли вы это быстро или медленно :D - person ACEG; 01.03.2011