Воспроизведение и прослушивание записывающего устройства в FMOD

Можно ли одновременно воспроизводить записывающее устройство с помощью API FMOD? Эта функциональность аналогична той, что Windows предлагает в свойствах записывающего устройства, где вы можете включить «прослушивание этого устройства» для определенных записывающих устройств. Если это невозможно через FMOD, есть ли другой API, более подходящий для этой функциональности?


person user8709    schedule 17.05.2011    source источник


Ответы (1)


Вы можете добиться этого с помощью FMOD, просто записывая с зацикливанием, установленным на true, а затем воспроизводить записанный звук также как зацикливание. При условии, что вы разделите вызов RecordStart и вызов playSound на некоторое время (скажем, 10 мс), курсор воспроизведения и курсор записи будут следовать друг за другом, и вы получите воспроизведение в реальном времени.

Примером этого является пример «записи», который поставляется в FMOD API для большинства платформ, и есть более продвинутый пример на платформе Windows, который показывает добавление эффектов в реальном времени к живому записанному звуку.

person Mathew Block    schedule 17.05.2011
comment
Спасибо! Это определенно то, что я хотел сделать. К сожалению, либо качество записи, либо качество воспроизведения очень плохое. Он идет через динамики с более низким качеством, чем я хотел бы использовать. Я пытался изменить некоторые конфигурации в примере, но ничего не изменилось. Ну что ж, поиграюсь еще! - person user8709; 17.05.2011
comment
Две основные вещи, влияющие на качество записи, — это частота дискретизации и формат (например, PCM16, PCM8 и т. д.). Вы можете управлять ими обоими через структуру FMOD_CREATESOUNDEXINFO, которую вы передаете в System::createSound. Установив их на 44100 и PCM16, вы получите результаты достойного качества. Кроме того, если вы используете Windows Vista или Windows 7, проверьте свойства вашего микрофона, убедитесь, что частота дискретизации и формат совпадают. - person Mathew Block; 20.05.2011