PDA

Показать полную графическую версию : [решено] Получить состояние звукового устройства


Страниц : [1] 2

icq99999999
17-01-2021, 00:33
каким методом можно проверить состояние устройства воспроизведения с помощью скрипта?. (состояния: готов, не подключено, устройство воспроизведения по умолчанию)

Iska
17-01-2021, 08:03
icq99999999, расскажите, как сие проверить не программно.

icq99999999
17-01-2021, 10:10
Iska устройство расположено по адресу: "панель управления\оборудование и звук\звук\tv" цель сего действия такова, чтобы если устройство в состоянии не подключено (но не отключено) то запустить файл иначе завершить скрипт

DJ Mogarych
17-01-2021, 10:49
Get-PnpDevice

icq99999999
17-01-2021, 11:35
DJ Mogarych, думаю это было бы решением, но не для моей windows 7 без powershell

Iska
17-01-2021, 11:45
Я, честно говоря, не понял, поможет ли сие вообще. Скажем, в моём случае:
https://i.imgur.com/t57B09X.png
?!

icq99999999
17-01-2021, 12:21
Скажем, в моём случае »
у меня так 163401

Iska
17-01-2021, 12:48
Да, у Вас аналогично.

Я чую, что «ковырять» надо немного в другую сторону, Audio Endpoint Devices - Win32 apps | Microsoft Docs (https://docs.microsoft.com/en-us/windows/win32/coreaudio/audio-endpoint-devices).

птичка0001
17-01-2021, 13:05
Я бы использовала:
Enumerating inactive volume sessions (https://matthewvaneerde.wordpress.com/2015/02/16/enumerating-inactive-volume-sessions/)
Getting peak meters and volume settings for all apps and audio devices on the system (https://matthewvaneerde.wordpress.com/2013/09/26/getting-peak-meters-and-volume-settings-for-all-apps-and-audio-devices-on-the-system/)


Matthew van Eerde известен на stackoverfow и нереально крут по WASAPI (и всего, что касается audio :) Когда-то он мне тоже помог, не бойтесь у него спрашивать. Снова его прорекламировала.
// мимо проходила

DJ Mogarych
17-01-2021, 13:26
не для моей windows 7 без powershell »
Что мешает поставить?

icq99999999
17-01-2021, 13:46
Что мешает поставить? »
можно поставить, просто я в нём не шарю. кстати я подумал как решить эту задачу по другому например можно какой нибудь утилитой(скриптом) попробовать установить tv как устройство звука по умолчанию, и если она вернет ошибку что устройство не подключено то запустить программу.

icq99999999
17-01-2021, 14:16
Enumerating inactive volume sessions »
задача решена: с помощью утилиты по ссылке
@echo off

del 1.txt
inactive-volume-sessions>>1.txt
find /I 1.txt "tv" && echo tv ready ok

echo.&pause

птичка0001
17-01-2021, 19:41
если устройство в состоянии не подключено (но не отключено)
Простите, что-то я плохо соображаю, а как это? Как оно может быть не подключено, но не отключено? (Не в том смысле, что Вы здесь, а устройство у Вашей бабушки) Или Вам надо включить и установить по умолчанию? При подключении Ваше устройство не становится устройством по умолчанию?
то запустить файл иначе завершить скрипт
Что за файл и что за скрипт непонятно. Поясните.
задача решена: с помощью утилиты по ссылке
Вы уверены, что это именно то, что Вам нужно? Если это не секретная информация, то покажите, пожалуйста, вывод.
можно поставить, просто я в нём не шарю
Зря. Вам ведь DJ Mogarych не просто так говорил про PowerShell дважды.

Iska
17-01-2021, 19:47
Простите, что-то я плохо соображаю, а как это? Как оно может быть не подключено, но не отключено? »
1) не устройство, 2) в том смысле, что оно unplugged, но не disabled.

Здесь:
https://i.imgur.com/t57B09X.png
это слева нижнее.

А «отключено», это вот так:
https://i.imgur.com/9kNfbTv.png

greg zakharov
17-01-2021, 21:49
Странная тема, ведь всё в сущности сводится до уровня SetupAPI.

icq99999999
17-01-2021, 21:54
это именно то »вообще задача была в том чтоб скрипт мог узнать подключено (или не подключено) ли tv и выполнить команду, что собственно скрипт и делает (если tv не подключен, скрипт не выводит сообщение) . а проверку на то что tv отключено можно с помощью devcon.
163410

птичка0001
17-01-2021, 22:02
Я почему-то думала об этом: indicate the current state of an audio endpoint device (https://docs.microsoft.com/en-us/windows/win32/coreaudio/device-state-xxx-constants) Это после прочтения шапки и #11. На #11 сообщении понимание меня покинуло
Ладно, пойду спать.

greg zakharov
17-01-2021, 22:05
а проверку на то что tv отключено можно с помощью devcon.devcon есть в WDK и иже с ним, раз. devcon использует SetupAPI, два. Набросать на коленке сценарий pwsh дело десяти минут. А ведь pwsh и по размерам меньше, чем WDK, и установки не требует. Вам всё это уже говорили.
Ладно, пойду спать.Доброй ночи!

Iska
17-01-2021, 22:17
а проверку на то что tv отключено можно с помощью devcon. »
С удовольствием посмотрю на Ваш код для devcon для определения сего.

greg zakharov
17-01-2021, 22:25
Iska, там и телепатом не нужно быть, чтобы представить себе что к чему.




© OSzone.net 2001-2012