Это зависит от того, что вы пытаетесь сделать. Базовый аудио-интерфейс waveOut лучше подходит для потоковой передачи аудио. Это позволяет поставить в очередь несколько буферов и автоматически воспроизводить их последовательно. Но если воспроизводится звук, и вы хотите изменить его или добавить что-то к этому, это относительно сложно.
DirectX аудио лучше для аудио на основе событий. Вы можете играть одновременно несколько вещей без необходимости микширования самостоятельно. Вы можете легко добавлять или удалять небольшие фрагменты звука - например, воспроизведение звука, когда пользователь нажимает на курок на своем пистолете. Но потоковая передача (то есть воспроизведение одного буфера за другим) сложнее.
waveOut разработан для облегчения воспроизведения постоянного звука, например, файла .mp3. DirectX предназначен для прерывистого звука, например обратной связи в игре.
ASIO похож на худшие из waveOut и DirectX с точки зрения сложности программирования. И это не так стабильно. Приложения обычно не могут делиться аудиоустройством. Но это дает вам самый низкий доступ к этому аудио оборудованию.
ASIO также позволяет синхронизировать воспроизведение на нескольких устройствах.
Если вам не нужно иметь возможность изменять то, что будет воспроизводиться непосредственно перед воспроизведением, и вам не нужно синхронизировать несколько устройств, тогда вам не нужен ASIO.