Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)

Модерирует : gyra, Maz

gyra (23-01-2020 10:51): AutoIT (Часть 4)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

AZJIO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#include "SoundGetSetQuery.au3"
#include <Array.au3>
$a=_SoundQuery1()
_ArrayDisplay( $a, "Информация о регуляторах в микшере" )
 
Func _SoundQuery1()
    SplashTextOn("Процесс", "Опрос звуковых параметров микшера системы...", 400, 50, -1, -1, 48)
    
     Dim $aM[1][5]
    $st=0
    
    ; Цикл поиска существующих регуляторов.
    Local $iMixer = 0
    While True
        _SoundGet($iMixer, "dSpeakers", 1, "Volume")
        If @error = 5 Then ExitLoop ; Больше регуляторов не существует. Любая другая ошибка указывает что регулятор существует.
 
        ; Проверить тип в текущем регуляторе.
        Local $iComponentType = 0
        While $iComponentType < UBound($asComponentTypes)
            _SoundGet($iMixer, $asComponentTypes[$iComponentType], 1, "Volume")
            If @error = 6 Then
                ; Этот тип компонента не существует в данном регуляторе.
                ; Начните с новой итерации, чтобы переходить на следующий компонентный тип.
                $iComponentType +=1
                ContinueLoop
            EndIf
 
            ; Проверить instance в текущем типе.
            Local $iComponentInstance = 1
            While True
                _SoundGet($iMixer, $asComponentTypes[$iComponentType], $iComponentInstance, "Volume")
                If @error = 7 Then ExitLoop ; Нет болше instances в этом типе компонента.
 
                ; Получите текущую величину каждого управляющего типа, который существует в данном случае этого компонента.
                Local $iControlType = 0
                While $iControlType < UBound($asControlTypes)
                    Local $iCurValue = _SoundGet($iMixer, $asComponentTypes[$iComponentType], $iComponentInstance, $asControlTypes[$iControlType])
                    If @error Then
                        $iControlType +=1
                        ContinueLoop
                    Else
                        ; $iMixer - 0,2 инпут, аут.
                        ;asComponentTypes - sAnalog
                        ;iComponentInstance - номер регулятора в компоненте  
                        ; asControlTypes - тип (mute, volume)  
                        ; iCurValue - величина / состояние
                        $st+=1
                        ReDim $aM[$st+1][5]
                        $aM[$st][0]=$iMixer
                        $aM[$st][1]=$asComponentTypes[$iComponentType]
                        $aM[$st][2]=$iComponentInstance
                        $aM[$st][3]=$asControlTypes[$iControlType]
                        $aM[$st][4]=$iCurValue
                    EndIf
                    $iControlType +=1
                WEnd ; Для каждого управляющего типа.
 
                $iComponentInstance +=1
            WEnd ; Для каждого компонента instance.
 
            $iComponentType +=1
        WEnd ; Для каждого типа компонента.
 
        $iMixer = $iMixer + 1
    WEnd ; Для каждого регулятора
    
    SplashOff()
    $aM[0][0]=$st
    Return $aM
EndFunc   ;==>_SoundQuery

Всего записей: 4413 | Зарегистр. 03-05-2006 | Отправлено: 13:33 24-09-2010
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)
gyra (23-01-2020 10:51): AutoIT (Часть 4)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru