C ++ / W32 - Запись звука, Direct Show или WaveInOpen? - PullRequest
2 голосов
/ 11 августа 2011

что выбрать, думая о WinXP, Vista, Win7 ++:

  • Запись звука с помощью Direct Show / Direct ...?

  • Перейти к классическому WaveInOpen (я видел где-то, кто-то говорил, что это будет устаревшим в W7 / W8 - возможно?)

Ps. Мне нужна функция обратного вызова, чтобы передать буфер кодеру.

Спасибо!

1 Ответ

2 голосов
/ 11 августа 2011

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

DirectSound использует кольцевой буфер и может быть немного громоздкимустановить, и, скорее всего, вам нужно позаботиться о циклическом буфере, а не "просто заполнить буфер".DirectSound, однако, может дать вам более жесткий контроль над звуком, а именно немного большую задержку.

IMO, очень маловероятно, что Microsoft когда-либо объявит устаревшим / удалит Wave API.Они сломают тысячи приложений.На самом деле я не думаю, что MS когда-либо удаляла основной API из Windows.

Так что я бы остановился на Wave API для простоты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...