Я занимаюсь разработкой кроссплатформенного аудиоредактора (C ++), и он имеет платформу AudioDevice
реализация класса. Этот класс воспроизводит звуки из буфера памяти. Основная ОС — Linux, но иногда я обращаю внимание и на порт Windows.
Текущая реализация Windows использует waveOutOpen()
, waveOutPrepareHeader()
, waveOutWrite()
интерфейс, и я считаю, что это устарело (я не знаю, почему именно). Но самое главное, что этот интерфейс все еще поддерживается и работает в Windows 7, и я не вижу причин, по которым Microsoft убила бы его.
В любом случае, я должен перейти на другой интерфейс, который лучше?
Волновые функции устарели в течение нескольких лет (главным образом с тех пор, как DirectX стал поддерживаться на платформе NT). Вы должны использовать DirectX (DirectSound и / или DirectShow) API.
http://msdn.microsoft.com/en-us/library/windows/desktop/ee416960(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/dd375454(v=vs.85).aspx
Других решений пока нет …