Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: AVStream: Virtual Audio Device  (Прочитано 19795 раз)
0 Пользователей и 1 Гость смотрят эту тему.
kuzulis
Интересующийся

ru
Offline Offline

« : 07-02-2012 07:08 » 

Доброго времени.

Ковыряюсь тут с примерами WDK /AVStream/{avshws,avssamp} и не могу взять в толк,
что нужно еще реализовать/добавить для того, чтобы аудио устройство отображалось в Windows7
в "Панель управления"->"Звуки".

Дело в том, что эти примеры нормально собираются устанавливаются, в диспетчере устройств появляется
новое аудио устройство - но в "Панель управления"->"Звуки" его нет!

Тоже самое происходит и в моем примерчике, который выполнен на основе  AVStream (прилагаю в аттаче).
Блин, ничего не пойму, нигде в инете не нашел хоть мало-мальси внятного ответа на вопрос.


Может кто подскажет что еще надо реализовать/добавить,
чтобы это устройство появилось в "Панель управления"->"Звуки"?



* myks.zip (11.86 Кб - загружено 817 раз.)
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 07-02-2012 08:40 » 

скорее всего вам надо поискать про "Сpl" - "control panel application" .... мне кажется. и по словам "Windows multimedia control panel"
http://msdn.microsoft.com/en-us/library/windows/hardware/ff537871(v=vs.85).aspx
я думаю - вот надо реализовать что то типа:
   DDK\6001.18001\src\audio\ac97\cpl\  +  DDK\6001.18001\src\audio\ac97\Proppage
почитайте описание этого (ac97) примера.

PS если не ошибаюсь конечно - вы проверяйте)

PPS и посмотрите Inf этого примера... может в нем есть ответ...
« Последнее редактирование: 07-02-2012 08:51 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
kuzulis
Интересующийся

ru
Offline Offline

« Ответ #2 : 07-02-2012 09:48 » 

Не, этот пример (ac97) построен на PortCls концепции (то же что и MSVAD),
ИМХО, это мне не поможет, я уже перерыл.

Насчет CPL - так я не создаю свою контрол панель, я использую стандартную виндовую (Win7).

Например, в примерах MSVAD, аудио устройство нормально отображается в этой системной виндовой панели,
а в примерах AVStream - нифига не отображается.

Так бы я по идее мог бы посмотреть как сделано в MSVAD и перенести по аналогии в AVStream -
но тут загвоздка: они используют разные дескрипторы и т.д. и т.п:
MSVAD - типа PC*
AVStream - типа KS*,

а также используют различное API при инициализации, обработчики и т.п.

Так что, я даж и не представляю куда копать.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 07-02-2012 12:20 » 

может это подойдет)
Creating an Audio Capture Graph
Цитата
Adding the Audio Capture Device
Because the Audio Capture Filter communicates with a specific hardware device, you cannot simply call CoCreateInstance to create the filter. Instead, use the System Device Enumerator to enumerate all of the devices in the "Audio Capture Sources" category, which is identified by the class identifier CLSID_AudioInputDeviceCategory.
The System Device Enumerator returns a list of monikers for the devices; each moniker's friendly name corresponds to the name of the device. Choose one of the returned monikers and use it to create an instance of the Audio Capture Filter for that device. Add the filter to the filter graph. The user's preferred audio recording device appears first in the moniker list. (The user selects a preferred device by clicking Sounds and Multimedia in Control Panel.)
« Последнее редактирование: 07-02-2012 12:22 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
kuzulis
Интересующийся

ru
Offline Offline

« Ответ #4 : 07-02-2012 13:13 » 

Не, ИМХО, это уже юзерспейс Улыбаюсь

Нужно именно что-то подрихтовать в драйвере+inf но вот что - хз.
Инфы ноль в инете.

Тем более, что даже DirectSound перечислитель не могет найти мое устройство.
По ходу я делаю что-то не так. Жаль

Я на мелкософтовском форуме тоже создал тему - но пока толковых ответов не дали:
http://social.msdn.microsoft.com/Forums/en-US/wdk/thread/c452e349-8a53-45b5-8805-ba668bc78365
« Последнее редактирование: 07-02-2012 13:16 от kuzulis » Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 07-02-2012 13:30 » 

кажется фишка в CLSID_AudioInputDeviceCategory...
по ней - набрел на http://www.rsdn.ru/forum/media/3728905.flat.aspx
вот вам оно... особо не вчитывался но ответы покурить стоит)

Добавлено через 3 часа, 7 минут и 39 секунд:
PS мейби тут найдется
« Последнее редактирование: 07-02-2012 16:40 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
kuzulis
Интересующийся

ru
Offline Offline

« Ответ #6 : 08-02-2012 09:29 » 

Эх, что то ничего не получается.

Даже не получается заставить чтобы аудио фильтр из WDK {avssamp} появился в виндовой Sound контрол панели как "устройство захвата" (микрофон или т.п.).

Я и в *.inf файле перепробовал что только можно и т.п.

Самое "смешное" что нигде в гугле нет вменяемого ответа как это делать!
Посмотрел рассылку на wdmaudiodev - там люди тоже задавали аналогичные вопросы - но ответа ноль.

PS: Я просто афигеваю (гребаный M$, ненавижу всеми фибрами души  Я зол!).
« Последнее редактирование: 08-02-2012 09:31 от kuzulis » Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 08-02-2012 13:43 » 

когда гугл не помогает - остается только документацию читать...)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
kuzulis
Интересующийся

ru
Offline Offline

« Ответ #8 : 08-02-2012 14:40 » 

Да, спс. Буду разбираться.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 08-02-2012 18:28 » 

спасибо не за что... увы)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
kuzulis
Интересующийся

ru
Offline Offline

« Ответ #10 : 09-02-2012 12:28 » 

Ура! Получилось!

В общем, появляестя теперь аудио устройство в Звуки->Запись->Audio Input
 Что, съел?

Вот, приаттачиваю проектик, может кому пригодится.

* myks.zip (13.31 Кб - загружено 882 раз.)
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 09-02-2012 14:35 » 

мои поздравления)
спасибо что результатом  Внимание! Говорит и показывает...  поделились!
наверняка пригодится!
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
kuzulis
Интересующийся

ru
Offline Offline

« Ответ #12 : 13-02-2012 11:45 » new

Вот, кстати, еще пример устройства типа Render (спикер).
В принципе все создается и появляется, но при попытке проиграть что-нить через него - вываливается ошибка.

Люди! Ткните носом, что не так?




* myksrender.zip (12.93 Кб - загружено 803 раз.)
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #13 : 13-02-2012 13:03 » 

ну эт сложно... это ж надо скомпилить, запустить....)))))
а что за ошибка, в каком месте?
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
kuzulis
Интересующийся

ru
Offline Offline

« Ответ #14 : 13-02-2012 14:33 » 

Да в любом.

Например через: Панель Управления->Звук->Den render device->Свойства->Дополнительно->Тест
Или любыми плеерами попытаться что-нить проиграть.
В принципе, теоретически все сэмплы должны уходить в "никуда" (dev/null), но но на что-то ругается,
я даже ХЗ на что.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #15 : 13-02-2012 16:14 » 

ну так наплодите в коде отладочных сообщений DbgPrint() в драйвер, и смотрите что вызывается и с какими статусами/параметрами и вызывается ли вообще.
тот же, DispatchCreate() у вас выполняется с каким статусом? что с остальным?
какие функции выполняются до того как все падает, какие нет? а как они должны вызываться?
и думайте)
скомпилите исходный пример из DDK, добавьте отладочные сообщения в тех же местах.
посмотрите как оно должно работать в теории, сравните.
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
kuzulis
Интересующийся

ru
Offline Offline

« Ответ #16 : 13-02-2012 16:41 » 

>скомпилите исходный пример из DDK, добавьте отладочные сообщения в тех же местах.
>посмотрите как оно должно работать в теории, сравните.

В том то и дело, что нет в примерах ничего похожего и следовательно я не могу ничего сравнить и посмотреть.
Да и смотреть там нечего в принципе, т.к. везде заглушки стоят.

Просто думал, что кто-то натыкался на аналогичные грабли и может сразу помочь советом.  Скромно так...
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #17 : 13-02-2012 20:07 » 

увы, сам не сталкивался...
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
kuzulis
Интересующийся

ru
Offline Offline

« Ответ #18 : 15-02-2012 11:38 » 

Вроде как и эта проблема решилась.
Решение тут в конце: http://social.msdn.microsoft.com/Forums/en-US/wdk/thread/c452e349-8a53-45b5-8805-ba668bc78365
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines