Форматцевт Опубликовано 7 октября, 2011 Жалоба Поделиться Опубликовано 7 октября, 2011 НЕ знаю кто как борется с издевательской системой Windows 7 по переключению выходных аудиопотоков, но я перепробовал кучу утилит наткнулся на: Windows 7 Tip: How to change the default audio device with a hotkey И там используя ПО AutoHotkey и скрипт переключают, но проблема в том что я не смог его понять до конца, т.е. он у меня срабатывает один раз и всё - может я где то ошибаюсь или что то не понимаю, но просмотрев сам скрипт не нашёл ошибок кроме моего незнания. Может быть кто то взглянет и скажет что не так и почему он не перебрасывает активные устройства. #a::Run, mmsys.cplWinWait,SoundControlSend,SysListView321,{Down}ControlGet, isEnabled, Enabled,,&Set Defaultif(!isEnabled){ ControlSend,SysListView321,{Down 2}}ControlClick,&Set DefaultControlClick,OKWinWaitCloseSoundPlay, *-1return Помогите, а то замучался туда сюда лазить, я про переключение звуковых устройств (выходных) Ссылка на комментарий Поделиться на другие сайты Поделиться
Yezhishe Опубликовано 7 октября, 2011 Жалоба Поделиться Опубликовано 7 октября, 2011 А что за аудиокарта-то? И неужели штатный драйвер от неё не справляется с этим тривиальным, в общем-то, заданием? У меня так всё просто - воткнул уши в разъём на морде - колонки\ресивер перестали сигнал получать... "Аутоматично"... Ибо драйвер так настроен... Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 7 октября, 2011 Автор Жалоба Поделиться Опубликовано 7 октября, 2011 Yezhishe поясняю. 1. Штатный драйвер то справляется, но надо совершить кучу телодвижений по переназначению 2. Версия AIDA64 не детектирует мать, говорит надо обновить - я послал отчёт уже давно, но результат нулевой. 3. У меня спереди/можно сзади воткнуть гарнитуру, но возникает ряд проблем: - наушники хотят работать только как устройство для голосовой связи, если же от этого отказаться, то разделённый сигнал теряет смысл; - когда я щелкаю по громкости то половина ПО под наушниками, а половина в динамиках; - всё ПО не имеет встроенной настройки по каналам имеют например только AIMP3, Скайп, ну и ещё по мелочи. - колонки без отключения по питанию, т.е. оно есть, но что бы до него достать надо извернуться. В ХР такой проблемы не было это только в 7-ке. Ссылка на комментарий Поделиться на другие сайты Поделиться
Yezhishe Опубликовано 7 октября, 2011 Жалоба Поделиться Опубликовано 7 октября, 2011 Ну у меня тоже колонки получают жрачку от ресивера Techniks SA-AX530... А уж он - подключён к Sound Blaster X-Fi. И драйвер настроен так, что если в морду машины воткнуть уши\оно же гарнитура - сигнал на ресивер обрубается... "Волшебные пузырьки, однако"... То бишь - настройки. P.S. Ох не зря сказал когда-то давно старик Оккам - "Не плодите сущности без нужды!", что применимо к данному случаю означает - "А настрой-ка ты, друже, свой драйвер аудиокарты на необходимое - и не парься"... Ну и вдогоночку - если та карта и её драйвер, коими пользуешься - этакого не позволяют, отчего бы не поменять на лучшее? Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 7 октября, 2011 Автор Жалоба Поделиться Опубликовано 7 октября, 2011 Yezhishe ты всё верно сказал, если воткнуть, то отрубается, но я привык блин или в ухи или в морду :sm(100): Она даже понижает, ну это нормально, автоматически уровень громкости... но это всё не то - мне по сути не нужны два устройства сразу (ну не маньяк я ещё вроде)... вот и страдаю и я обнаружил что этим страдают в основном американцы (ну т.е. не нашенские), а у наших проблемы, то колонки не пашут, то микрофон.... может я и зажрался, но привычка страшная сила. :blush2: Ссылка на комментарий Поделиться на другие сайты Поделиться
Yezhishe Опубликовано 7 октября, 2011 Жалоба Поделиться Опубликовано 7 октября, 2011 То-есть, как я понимаю, банальная лень мешает вынуть\вставить уши из\в комп, чтобы колонки заработали\отключились и vice versa? Хочется крыскою? Ну тогда опять-таки - через драйвер включать\перенаправлять поток... Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 7 октября, 2011 Автор Жалоба Поделиться Опубликовано 7 октября, 2011 Yezhishe угу, лень хотя desipere in loco Ссылка на комментарий Поделиться на другие сайты Поделиться
Yezhishe Опубликовано 7 октября, 2011 Жалоба Поделиться Опубликовано 7 октября, 2011 Безусловно понимать... Да. Но как мне представляется, всё же гораздо проще (в данном конкретном случае) пользовать штатные возможности настроек аудиодрайвера. Ибо, по моему разумению, использование чего-то стороннего... Ну, всяко может случиться - ОС оно же ОС... Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 7 октября, 2011 Автор Жалоба Поделиться Опубликовано 7 октября, 2011 Yezhishe есть ещё одна причина некоторые программы нельзя посадить на конкретное устройство, причём это две мои игры ИЛ-2 Штурмовик (ну может быть сумею) и контру (нет так пофиг), просто надо будет каждый раз переопределять за что отвечают уши, а они по переустановке за звуковую связь... Скайп и тд. Ссылка на комментарий Поделиться на другие сайты Поделиться
TOLKOV Опубликовано 7 октября, 2011 Жалоба Поделиться Опубликовано 7 октября, 2011 У меня наоборот. С одним включенным устройством все в порядке. С любым из них. А вот включить сразу два, не получается. ХР в этом плане не упиралась, звук шел отовсюду. Ссылка на комментарий Поделиться на другие сайты Поделиться
Yezhishe Опубликовано 7 октября, 2011 Жалоба Поделиться Опубликовано 7 октября, 2011 Ну и зачем путать лапти с гвоздями? Если аудиокарта от Creative Labs - то вот он драйвер, который может столько, что казённым и не снилось... Если же не Blaster... Желаю успехов. Хотя и немножко сомневаюсь... Ссылка на комментарий Поделиться на другие сайты Поделиться
toma.m Опубликовано 8 октября, 2011 Жалоба Поделиться Опубликовано 8 октября, 2011 А может эффективнее решить эту задачу не программными, а аппаратными средствами? Собрать блок с переключателями, повтыкать туда все внешние аудиоустройства и переключаться кнопками. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Timba Опубликовано 8 октября, 2011 Жалоба Поделиться Опубликовано 8 октября, 2011 А может эффективнее решить эту задачу не программными, а аппаратными средствами? Собрать блок с переключателями, повтыкать туда все внешние аудиоустройства и переключаться кнопками. toma.m, ну что сказать? Я полностью согласен с вами. У меня в системе сейчас две звуковые. Realtec HD Audio и C-Media не помню какая. Звук лучше через реалтек, но для ТВ-тюнера почему-то лучше C-Media. Это под Ubuntu. Вообще я заметил, что звук (несмотря на фирменное ПО для Windows) в Linux намного лучше. Может быль ALSA тому виной. Не суть. Так вот задача с перераспределением решается именно технически (разветвители, переключатели...) и звук идет туда. куда нужно, а не туда, куда он сам решил. Это не креативовские платы а обычные втроенные или бюджетные. С одной на другую переключиться пару секунд. Но что касается управления, то @toma.m права в очень многом. Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 9 октября, 2011 Автор Жалоба Поделиться Опубликовано 9 октября, 2011 (изменено) Ну не знаю (да, я кстати нашёл ошибку) по моему проще написать макрос и одним переключением менять выходное устройство. Просто я не вижу разницы между программным или аппаратным решением. 1. AutoHotkey я и так использую для многих целей 2. Она же, т.е. AutoHotkey просто эмулирует нажатие на пару клавиш и мышку. Зачем огород то городить с железом, у меня всего два внешних устройства. TOLKOV твоя проблема мне знакома, так многие именно мучаются не с избытком, а с недостатком. :D Изменено 9 октября, 2011 пользователем Indomito Ссылка на комментарий Поделиться на другие сайты Поделиться
toma.m Опубликовано 9 октября, 2011 Жалоба Поделиться Опубликовано 9 октября, 2011 Зачем огород то городить с железом, у меня всего два внешних устройства. Один раз можно повозиться исходя из следующих причин: 1. Внешних устройств может быть и больше. Если к стандартному набору – колонки + гарнитура, добавляются беспроводные наушники, например. 2. Можно переключатся на любое устройство, легким движением мизинца не отрывая задницу от кресла. 3. Из чисто эстетических соображений – к фронтальной панели ничего не подключено и провода не путаются под ногами. 4. Когда происходит смена железа нужно только воткнуть штекеры и все уже работает. Лень двигатель прогресса! Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 9 октября, 2011 Автор Жалоба Поделиться Опубликовано 9 октября, 2011 (изменено) toma.m 1. Добавить одну строчку в коде 2. И я не отрываю - легким нажатием Win+TAB 3. Эстетика вещь индивидуальная и зачастую личностно-умозрительная. 4. См пп 4 Лень... :D P.S. Мне легче написать программу чем возиться с железом, первое ближе ибо я этим с 1985 года "страдаю" :rolleyes: Изменено 9 октября, 2011 пользователем Indomito Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 14 октября, 2011 Автор Жалоба Поделиться Опубликовано 14 октября, 2011 И так скрипт по переключению - авторство не моё, я бы такое не смог написать. #Tab:: Run, mmsys.cpl Process, Wait, rundll32.exe, 1 If ErrorLevel { WinWait, % "ahk_pid" ErrorLevel ControlSend, SysListView321, {Down} Sleep, 50 ControlGet, isEnabled, Enabled,, По умол&чанию Sleep, 50 If !isEnabled ControlSend, SysListView321, {Down} Sleep, 50 ControlClick, По умол&чанию Sleep, 500 Process, Close, rundll32.exe Exit } MsgBox, 262192,, Ошибка переключения, 1 Sleep, 1500 Return Тему закрыть или как? :blush2: Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 19 октября, 2011 Автор Жалоба Поделиться Опубликовано 19 октября, 2011 И последний отлаженный вариант #Tab:: isDevSetTitle:="Переключение звука" isDevSet:="Звук на " d:="колонки", h:="наушники"reDevSet: Run, mmsys.cpl Process, Wait, rundll32.exe, 1 If (!ErrorLevel) { Process, Close, rundll32.exe MsgBox, 16, % isDevSetTitle, Ошибка, 0 } else { WinWait, % "ahk_pid" ErrorLevel ControlSend, SysListView321, {Down} Sleep, 50 ControlGet, isEnabled, Enabled,, Button2 Sleep, 50 If !isEnabled ControlSend, SysListView321, {Down} Sleep, 50 ControlClick, Button2 ; По умол&чанию Sleep, 50 ControlClick, Button4 ; на клик по кнопке ОК Process, Close, rundll32.exe MsgBox, 1, % isDevSetTitle , % isEnabled ? isDevSet . d : isDevSet . h, 3 };Sleep, 1000IfMsgBox, Cancel Goto, reDevSetExit Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения