MCI - как определить что -девайс ФАКТИЧЕСКИ работает
От: mig23  
Дата: 21.09.03 18:19
Оценка:
Здравствуй All!

Столкнулся с такой проблемой: моё приложение, пишущее звук с микрофона на винт, нормально работает на большинстве компов, но если драйвер звуковой карты настроен некорректно или вообще криво — то приложение помирает, иногда потянув за собой и весь Win98.
Виндовский же встроенный фонограф на этой же машине просто не пишет звук, но и не умирает, и уж тем более не валит систему.
Задача — каким-то образом определить до попытки записи командой
"record",настроен ли ФАКТИЧЕСКИ драйвер звуковой карты (ибо Винда всегда говорит что всё OK, устройство якобы поддерживает запись) и предотвратить вылет системы.Перекопал MSDN по mciSendString и mciSendCommand — но ничего нужного вроде бы не увидел — везде стандартный подход, когда в системе полный порядок.
Подскажите, pls, хотя бы где об этом можно спросить или почитать.

Спасибо!
Re: MCI - как определить что -девайс ФАКТИЧЕСКИ работает
От: Кирилл Осенков Украина
Дата: 22.09.03 22:35
Оценка:
Привет!

Не уверен, поможет ли, но: глянь на список API функций, которые sndrec32.exe импортирует из winmm.dll и msacm32.dll. Потом выбери из них "подозрительные", т.е. те, в которых может быть проверка на возможность записи — и читай хелпы по ним.

Возможно, рекордер использует другие API-функции для собственно записи, скорее всего более специализированные — они и устраивают более стабильную проверку на ошибки. Может глянешь на них?

Удачи!
Re: MCI - как определить что -девайс ФАКТИЧЕСКИ работает
От: bsvas  
Дата: 23.09.03 18:20
Оценка:
Здравствуйте, mig23, Вы писали:

M>Здравствуй All!


M> Столкнулся с такой проблемой: моё приложение, пишущее звук с микрофона на винт, нормально работает на большинстве компов, но если драйвер звуковой карты настроен некорректно или вообще криво — то приложение помирает, иногда потянув за собой и весь Win98.

M>Виндовский же встроенный фонограф на этой же машине просто не пишет звук, но и не умирает, и уж тем более не валит систему.
M> Задача — каким-то образом определить до попытки записи командой
M>"record",настроен ли ФАКТИЧЕСКИ драйвер звуковой карты (ибо Винда всегда говорит что всё OK, устройство якобы поддерживает запись) и предотвратить вылет системы.Перекопал MSDN по mciSendString и mciSendCommand — но ничего нужного вроде бы не увидел — везде стандартный подход, когда в системе полный порядок.
M> Подскажите, pls, хотя бы где об этом можно спросить или почитать.

M> Спасибо!


Что тут сказать, я занимался вопросом записи звука с микрофона, дело в том что mciSendCommand возвращает число, и если оно не 0, то это ошибка, а затем с помощью
mciGetErrorString можно посмотреть и на строковое значение данной ошибки. Да и в мсдн это написано хорошо. Если не так, то в чем же проблема?

Удачи!
Re[2]: MCI - как определить что -девайс ФАКТИЧЕСКИ работает
От: Аноним  
Дата: 30.09.03 13:20
Оценка:
Здравствуйте, bsvas, Вы писали:


B>Здравствуйте, mig23, Вы писали:


M>>Здравствуй All!


M>> Столкнулся с такой проблемой: моё приложение, пишущее звук с микрофона на винт, нормально работает на большинстве компов, но если драйвер звуковой карты настроен некорректно или вообще криво — то приложение помирает, иногда потянув за собой и весь Win98.

M>>Виндовский же встроенный фонограф на этой же машине просто не пишет звук, но и не умирает, и уж тем более не валит систему.
M>> Задача — каким-то образом определить до попытки записи командой
M>>"record",настроен ли ФАКТИЧЕСКИ драйвер звуковой карты (ибо Винда всегда говорит что всё OK, устройство якобы поддерживает запись) и предотвратить вылет системы.Перекопал MSDN по mciSendString и mciSendCommand — но ничего нужного вроде бы не увидел — везде стандартный подход, когда в системе полный порядок.
M>> Подскажите, pls, хотя бы где об этом можно спросить или почитать.

M>> Спасибо!


B>Что тут сказать, я занимался вопросом записи звука с микрофона, дело в том что mciSendCommand возвращает число, и если оно не 0, то это ошибка, а затем с помощью

B>mciGetErrorString можно посмотреть и на строковое значение данной ошибки. Да и в мсдн это написано хорошо. Если не так, то в чем же проблема?

B>Удачи!


Извините за повтор, но mciSendCommand при коряво поставленном звуковом драйвере
просто помирает,положив приложение, а иногда — и систему.Так что до проверки ошибок дело не доходит — приложение помирает и проверять ошибки уже некому.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.