Как программно засечь начало воспр. звука звуковой картой
От: A66aT_Tyk  
Дата: 03.11.08 17:56
Оценка: :)
Под visual basic пишется программа, в которой необходимо проследить момент начала воспроизведения звуковой картой сигнала(не получается проверить наличие сигнала на порту)
звук мультимедиа visual basic
Re: Как программно засечь начало воспр. звука звуковой карто
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 02.12.08 07:05
Оценка:
Здравствуйте, 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>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.