Если я использую стандартный код libmpg123:
while (mpg123_read(mh, buffer, buffer_size, &done) == MPG123_OK)
{
if((ao_play(dev, (char*)buffer, done)==0)){
}
}
Как я могу отредактировать это для игры на 2х скорости, 3х скорости, — 2x скорость?
libmpg123 просто обрабатывает декодирование MP3. По крайней мере, я только что просмотрел заголовочный файл mpg123.h и не нашел ничего, что указывало бы на то, что он будет обрабатывать трюковый режим. Кроме того, я не думаю, что libao (выбранный вами метод вывода звука) также справляется с этим, основываясь на прочтении ao.h. Я уверен, что вам нужно выполнить алгоритмический трюк самостоятельно (или принести другую библиотеку, чтобы сделать это). Применить преобразования после декодирования, но перед воспроизведением.
Других решений пока нет …