Ну, я не знаю BASS конкретно, но я немного знаю о воспроизведении музыки и форматах сжатых данных в целом, и правильное копирование данных включает промежуточный этап декодирования.Вот что вам нужно сделать:
- Откройте файл и найдите правильную позицию.
- Декодируйте аудио в буфер в памяти.Размер вашего буфера должен быть
(LengthInSeconds * SamplesPerSecond * Channels * BytesPerSample)
байт.Таким образом, если это 10 секунд аудио качества CD, то это 10 * 44100 * 2 (стерео) * 2 (16-битное аудио) = 1764000 байт. - Возьмите этот буфер декодированных данных и передайте его в кодировку MP3и сохраните полученный MP3 в файл.
Если у BASS есть функции для декодирования во внешний буфер и для кодирования буфера в MP3, все в порядке;все, что вам нужно сделать, это выяснить, какие из них использовать.Если нет, вам придется найти другую библиотеку для кодирования и декодирования MP3.
Кроме того, следите за потерей поколений .MP3 использует сжатие с потерями, поэтому если вы распакуете и повторно сожмете данные несколько раз, это ухудшит качество звука.