Воспроизведение аудио Qt с камеры Axis - PullRequest
1 голос
/ 15 ноября 2011

Я хочу получить аудиопоток RTP, исходящий от камеры Axis, а затем воспроизвести его в реальном времени в моем проекте Qt.

Я использую Live555 для управления аудиопотоком и декодирования его с помощью FFMPEG. Когда я декодирую пакет, я посылаю сигнал, который управляется внутри слота моего виджета:

ap.ioDevice->write((const char*)ptrArr, frameSize);

Проблема в том, что когда я слушаю, мой голос немного металлический! Я установил эти параметры для QAudioOutput:

format.setFrequency(22050);
format.setChannels(1);
format.setSampleSize(16);
format.setCodec("audio/pcm");
format.setByteOrder(QAudioFormat::LittleEndian);
format.setSampleType(QAudioFormat::UnSignedInt);

Что не так?


Спасибо всем.

Как я уже сказал в комментарии, я могу получить достаточно чистое воспроизведение с 8000 Гц и 2 каналами.

Теперь я пытаюсь решить другие проблемы, а затем я попытаюсь улучшить качество звука, например, с помощью Phonon.

1 Ответ

0 голосов
/ 15 ноября 2011

Я думаю, что ваша проблема связана с вашей частотой дискретизации - 22 кГц кажется очень низким. Какое значение имеет повышение до 44.1K? (Я думаю, вам также нужно проверить это QAudioDeviceInfo::supportedSampleRates().contains((int)SampleRate) для того, что вы выбрали в качестве SampleRate).

...