Audio full duplex, Samlerate 8kHz |
Здравствуйте, гость ( Вход | Регистрация )
Audio full duplex, Samlerate 8kHz |
Lyrri |
25.11.2011, 12:14
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 25.11.2011 Пользователь №: 3026 Спасибо сказали: 0 раз(а) Репутация: 0 |
Необходимо получить звук с микрофона и завернуть его на динамики с минимальной задержкой. ОС: WinXP
Реализовано следующим образом:
Все отлично работает. При использовании частоты дискретизации 11025 и 22050 в течении 5-7 секунд звук воспроизводится нормально, потом начинает заикаться. С этим пока тоже можно смирится (предполагаю, что программа просто не успевает писать данные в буфер). Самое интересное начинается при использовании частоты 8000. Звук воспроизводится - но местами рваный. И самое интересное - спектр звука смещается вверх. В связи с этим возникли вопросы: 1 Минимальная частота дискретизации звуковой карты 44100. Частоты 22050 и 11025 это соответственно 44100/2 и 44100/4. А вот 8000 это 48000/6. Складывается такое впечатление, что при выводе на 8000 используется частота 41000. А она не кратна 8000. Отсюда рваный звук и смещение спектра. Можно ли из QT, или используя API винды перевести частоту дискретизации звуковой карты по умолчанию в 48000? 2 Есть ли примеры проектов, к примеру SIP, использующие QT Multimedia для получения и воспроизведения звука? Тестовый пример в аттаче.
Прикрепленные файлы
|
|
|
Текстовая версия | Сейчас: 12.12.2024, 1:06 |