реклама на сайте
подробности

 
 
> USBAUDIO.SYS, Сколько входных каналов он поддерживает?
amw
сообщение Apr 14 2008, 14:11
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Устройство аналогового ввода-вывода.
4 ADC + 2 DAC.
То есть 4 входа и 2 выхода.
Прикидывается USB Audio.
Выходы описаны как SPEAKER, входы - MICROPHONE.
Все было хорошо пока использовался Linux.
Но понабилось и Windows.
Так вот Windows видит только 2 ADC а остальные 2 в упор не видит.
Все программы для работы со звуком знают только mono и stereo, а попытки воспользоваться звуковым WinAPI дают ошибки при указании числа входных каналов больше 2.
Для тестирования прописал в устройстве 4 выхода и вывел 2 лишних на последовательный порт.
Windows 4 выхода видит и медиаплеер играет на все 4 канала.

Так что, USBAUDIO.SYS не поддерживает 4 микрофона?
Как его заставить видеть все 4 входа?
Спецификация USB Audio Class Devices 1.00 имеет только определения для разных вариантов микрофона, типа MICROPHONE SET и никаих других вариантов для входов не остается. Во всяком случае я не нашел других типов входов. Или я не там смотрел?
Поможет ли переход на USB Audio Class Devices 2.00?
Ориентируюся на WinXP и Vista.

Дескриптор прилагается.
Прикрепленные файлы
Прикрепленный файл  desc.txt ( 7.36 килобайт ) Кол-во скачиваний: 74
 


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KolyanV
сообщение Apr 19 2008, 13:24
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 91
Регистрация: 1-06-05
Пользователь №: 5 621



Ничего не могу сказать по поводу USBAUDIO.SYS, но при работе с устройстовм через WinAPI (mmsystem), входы должны быть разбиты на 2 устройства. Т.е система должна их понимать как два записывающих стерео устройства. Подсистема mmsystem (если речь идет о ней), вообще не оперирует такими понятиями как 4-х канальная запись.
Go to the top of the page
 
+Quote Post
amw
сообщение Apr 19 2008, 15:23
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(KolyanV @ Apr 19 2008, 16:24) *
Ничего не могу сказать по поводу USBAUDIO.SYS, но при работе с устройстовм через WinAPI (mmsystem), входы должны быть разбиты на 2 устройства. Т.е система должна их понимать как два записывающих стерео устройства.

Т.е. запись принципиально моно или стерео, и ни как иначе?
Цитата
Подсистема mmsystem (если речь идет о ней), вообще не оперирует такими понятиями как 4-х канальная запись.

Простите не понял, поясните пожалуйста.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
KolyanV
сообщение Apr 19 2008, 19:04
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 91
Регистрация: 1-06-05
Пользователь №: 5 621



Цитата(amw @ Apr 19 2008, 18:23) *
Т.е. запись принципиально моно или стерео, и ни как иначе?
Простите не понял, поясните пожалуйста.

WinAPI бывает разное ...
Есть стандартное API для работы со звуковыми устройствами, содержиться в библиотеке mmsystem.dll (В MSDN смотрим по ключевому слову MMSYSTEM). С его помощью можно работать с записывающими устройствами только моно или стерео. Во всяком случае в XP так, про висту не скажу, но, даже если она это поддерживает, сами понимаете, Вам от того легче не будет.
Есть еще DirectX, но тут вам ничего не скажу.
В многоканальных звуковых платах (в которых много каналов - записи) делают так - каждая пара записывающих каналов определяется системой как независимое стерео устройство. Таким образом, можно одновременно записывать хоть 4, хоть 8 каналов. Но на уровне WinAPI работа идет с набором виртуальных записывающих устройств. Такая организация выполняется на уровне драйвера такой звуковой платы. В Вашем случае, пологаю, аналогичную функцию можно реализовать на уровне софта Вашего устройства. Т.е хост -компьютер его должен видеть как 2 звуковых записывающих стереоустройства.
Go to the top of the page
 
+Quote Post
amw
сообщение Apr 20 2008, 11:32
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(KolyanV @ Apr 19 2008, 22:04) *
WinAPI бывает разное ...
Есть стандартное API для работы со звуковыми устройствами, содержиться в библиотеке mmsystem.dll (В MSDN смотрим по ключевому слову MMSYSTEM). С его помощью можно работать с записывающими устройствами только моно или стерео. Во всяком случае в XP так, про висту не скажу, но, даже если она это поддерживает, сами понимаете, Вам от того легче не будет.
Есть еще DirectX, но тут вам ничего не скажу.
В многоканальных звуковых платах (в которых много каналов - записи) делают так - каждая пара записывающих каналов определяется системой как независимое стерео устройство. Таким образом, можно одновременно записывать хоть 4, хоть 8 каналов. Но на уровне WinAPI работа идет с набором виртуальных записывающих устройств. Такая организация выполняется на уровне драйвера такой звуковой платы. В Вашем случае, пологаю, аналогичную функцию можно реализовать на уровне софта Вашего устройства. Т.е хост -компьютер его должен видеть как 2 звуковых записывающих стереоустройства.

Спасибо.
Буду пробовать.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Apr 20 2008, 11:50
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(amw @ Apr 20 2008, 15:32) *
Буду пробовать.

А почему-бы вам не попробовать всё это как составной HID сделать. Я под Win пробовал составное устройство из 12 HIDов делать. Всё работало. И скорость передачи через Interrupt In соответствующая была 12*64=768 байт/милисек. И время для исправления ошибок оставалось, т.е. гарантия доставки. Под Win этот способ. на мой взгляд, явно лучше. Хотя под Linux просто так работать не будет - мы с вами это обсуждали.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 23:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01413 секунд с 7
ELECTRONIX ©2004-2016