Android — Воспроизведение аудио из буфера с помощью Superpowered SDK

Я пытался воспроизвести аудиофайл из буфера (short int) с помощью Superpowered Audio SDK. В настоящее время при каждом вызове функции процесса передается выходной буфер, который записывается так:

getBufferData(short int *output, unsigned int samples) {
memcpy(output, buffer + bufferPtr, samples * sizeOf(short int));
bufferPtr += samples;
}

Получившийся звук узнаваем как песня, которую я пытаюсь воспроизвести, но сильно искаженная.

Я проверил, что данные в буфере — это то, что я ожидаю, записав их в файл wav и протестировав воспроизведение таким образом.

Я догадываюсь, что подпрограмма memcpy может быть слишком интенсивной, чтобы вызывать ее так часто, но я не смог найти альтернативы.

Я также понимаю, что этот метод воспроизведения не является подходящим способом воспроизведения аудиофайла с использованием суперскорости, но для моего случая использования требуется.

Любое руководство будет с благодарностью!

0

Решение

Возможно, у вас есть проблема со стерео / моно.
Пример, который вы описываете, отлично работает для моно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]