Под visual basic пишется программа, в которой необходимо проследить момент начала воспроизведения звуковой картой сигнала(не получается проверить наличие сигнала на порту)
Здравствуйте, A66aT_Tyk, Вы писали:
AT_>Под visual basic пишется программа, в которой необходимо проследить момент начала воспроизведения звуковой картой сигнала(не получается проверить наличие сигнала на порту)
Ни надежного, ни удобного способа нет. Как один из вариантов — получить строку интерфейса устройства через сообщение DRV_QUERYDEVICEINTERFACE, открыть интерфейс через CreateFile, перебрать пины, через DeviceIoControl запрашивая у каждого свойства KSPROPERTY_PIN_CATEGORY, KSPROPERTY_PIN_COMMUNICATION и KSPROPERTY_PIN_DATAFLOW, выделить пины категории KSCATEGORY_RENDER, типа KSPIN_COMMUNICATION_SINK и направления KSPIN_DATAFLOW_IN, и периодически опрашивать у них свойство KSPROPERTY_PIN_CINSTANCES. Изменение CurrentCount будет означать, что создан экземпляр пина (устройство открыто на воспроизведение), но при этом на него может воспроизводиться, например, и пустой аудиопоток (тишина).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>