Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Кнопка для переключения аудиовыхода  (Прочитано 5286 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Givizub

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1452
  • Ubuntu 24.04
    • Просмотр профиля
Часто приходиться переключаться между колонками и наушниками. Для этого приходиться открывать "Параметры звука" и там уже искать нужное устройство вывода.
 
Подскажите, как можно сделать кнопку для переключения, в виде прогаммы, скрипта, скринлета и т.д., чтобы делать это быстро?

Думаю, проще будет сделать скрипт и для него файл .desktop, который можно поместить в панель Unity. 
« Последнее редактирование: 07 Июля 2014, 18:59:11 от Givizub »
R.I.P. - Unity

Оффлайн jcrush

  • Активист
  • *
  • Сообщений: 678
  • Khabara.Ru
    • Просмотр профиля
    • Компьютерные интернет обзоры
Re: Кнопка для переключения аудиовыхода
« Ответ #1 : 08 Июля 2014, 12:59:44 »
есть кстати юнити виджет переключения вывода звука, видит мой hdmi ЖК, но под 14.04 виджет не работает, разрабы обещали поправить, но я не дождался снес, название не помню, думаю найдете..
Ubuntu Mate Stfw.Ru — SEO блог ...

adawdp

  • Гость
Re: Кнопка для переключения аудиовыхода
« Ответ #2 : 28 Ноября 2015, 21:59:19 »
2015 Nov 28; 01:59 PM; Oakville, ON, Canada.

— А всё же интересно, нет ли каких-либо новостей по данному вопросу. Заодно и аудиовход было бы неплохо переключать, естественно хотелось бы клавишами…


adawdp

  • Гость
Re: Кнопка для переключения аудиовыхода
« Ответ #4 : 28 Ноября 2015, 23:59:05 »
2015 Nov 28; 03:58 PM

— Я это, werlock, (indicator-sound-switcher 1.2.2) давно установил, но там не слова про клавиши :( … Удобство, конечно, есть, но клавишей хочется :)

— А так получается всего на один клик меньше…

— Спасибо за ответ, естественно…

Пользователь решил продолжить мысль [time]29 Ноябрь 2015, 06:43:45[/time]:
2015 Nov 28; 09:42 PM

— Если спросить вот так:
Код: (bash) [Выделить]
fjf@fjf-Inspiron-530s:~$ pacmd list-sinks | grep -e 'name:' -e 'index'
  * index: 0
name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
    index: 1
name: <alsa_output.usb-Plantronics_Plantronics_.Audio_655_DSP-00-DSP.iec958-stereo>
fjf@fjf-Inspiron-530s:~$
— То надо полагать из терминала можно переключиться вот так:
Код: (bash) [Выделить]
pacmd set-default-sink 0
pacmd set-default-sink 1
— Вроде работает :
Код: (bash) [Выделить]
fjf@fjf-Inspiron-530s:~$ pacmd set-default-sink 1
Welcome to PulseAudio! Use "help" for usage information.
>>> >>> fjf@fjf-Inspiron-530s:~$ pacmd set-default-sink 0
Welcome to PulseAudio! Use "help" for usage information.
>>> >>> fjf@fjf-Inspiron-530s:~$
— Не знаю может кавычек каких-то нужно наставить ещё на всякий случай  :)

— Теперь на основании этого нужно пробовать писать скрипт чтобы скрипт был один и кнопка была одна, просто чтобы переключалось с нуля на единицу или наоборот…

— Сейчас буду пробовать…

Пользователь решил продолжить мысль 29 Ноября 2015, 06:01:36:
2015 Nov 28; 10:01 PM; Oakville, ON, Canada.

— Из-за того, что хочется одну кнопку, это утром я буду делать :), если решение в силе останется…

— А так всё работает если в Параметры Системы » Клавиатура » Комбинации клавиш назначить →
pacmd set-default-sink 0 на одни клавиши, а pacmd set-default-sink 1 на другие, то вполне можно переключаться…
« Последнее редактирование: 29 Ноября 2015, 06:01:36 от adawdp »

adawdp

  • Гость
Re: Кнопка для переключения аудиовыхода
« Ответ #5 : 30 Ноября 2015, 06:24:10 »
2015 Nov 29; 10:24 PM; Oakville, ON, Canada.

— Итак, нужно ведь как-то довести начатое дело до конца… :)

— Попытка написать скрипт самостоятельно не увенчалась успехом, не переключался звук с колонок на наушники „на ходу“ …

— Скрипт пришлось найти…
Код: (bash) [Выделить]
#!/bin/bash
SINK_INDEX1=0
SINK_INDEX2=1
ACTIVE_SINK=$(pacmd list-sinks | grep '* index:' | grep -o '[0-9]*')
if [ "$ACTIVE_SINK" = $SINK_INDEX1 ] ; then
    pacmd set-default-sink $SINK_INDEX2
    pacmd list-sink-inputs | awk '/index:/{print $2}' | xargs -r -I{} pacmd move-sink-input {} $SINK_INDEX2
else
    pacmd set-default-sink $SINK_INDEX1
    pacmd list-sink-inputs | awk '/index:/{print $2}' | xargs -r -I{} pacmd move-sink-input {} $SINK_INDEX1
fi
— Всё в нём хорошо, но вот в процессе работы меняется название выходов звука  :( и уже не ноль и единица а:
Код: (bash) [Выделить]
fjf@fjf-Inspiron-530s:~/Рабочий стол$ pacmd list-sinks | grep -e 'name:' -e 'index'
  * index: 0
name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
    index: 5
name: <alsa_output.usb-Plantronics_Plantronics_.Audio_655_DSP-00-DSP.analog-stereo>
fjf@fjf-Inspiron-530s:~/Рабочий стол$
— А единица и пятёрка…

— Сейчас над этим буду работать :) Попытаюсь подставить в скрипт наименования устройств…

Пользователь решил продолжить мысль 30 Ноября 2015, 06:39:46:
2015 Nov 29; 10:39 PM

— Да, вот так тоже работает:
(Нажмите, чтобы показать/скрыть)
— Нужно ещё немного потестировать… Возможно кому-то нужно, чтобы всё было в одном скрипте и переключалось по кругу одними клавишами, как это сделать я пока не знаю…
« Последнее редактирование: 30 Ноября 2015, 06:39:46 от adawdp »

Оффлайн Tamer4

  • Активист
  • *
  • Сообщений: 695
    • Просмотр профиля
Re: Кнопка для переключения аудиовыхода
« Ответ #6 : 30 Ноября 2015, 07:25:04 »
Я из-за этого (в том числе) перешел на Xubuntu, тут для каждого приложения запоминается аудио устройство. И переключать мне теперь вообще ничего не нужно, только наушники физически изъять из разъёма (если нужно).

adawdp

  • Гость
Re: Кнопка для переключения аудиовыхода
« Ответ #7 : 30 Ноября 2015, 16:28:13 »
2015 Nov 30; 08:28 AM; Oakville, ON, Canada.

— Завершаю опус, мне не нужно переключение по кругу, решил использовать два скрипта назначенные на клавиши один скрипт включает наушники отключая колонки, другой включает колонки отключая наушники. Спасибо за внимание :)!

Оффлайн 0xAD

  • Любитель
  • *
  • Сообщений: 62
    • Просмотр профиля
Re: Кнопка для переключения аудиовыхода
« Ответ #8 : 16 Декабря 2015, 17:02:57 »
Переписал скрипт так, чтобы работало по кругу, проверьте:

Код: (bash) [Выделить]
#!/bin/bash
SINK1="alsa_output.pci-0000_00_1b.0.analog-stereo"
SINK2="alsa_output.usb-Plantronics_Plantronics_.Audio_655_DSP-00-DSP.analog-stereo"
ACTIVE_SINK=$(pactl stat | awk '/Сток по умолчанию:/{print $4}')
if [ $ACTIVE_SINK = $SINK1 ]
then
  pacmd set-default-sink $SINK2
  pacmd list-sink-inputs | awk '/index:/{print $2}' | xargs -r -I{} pacmd move-sink-input {} $SINK2
else
  pacmd set-default-sink $SINK1
  pacmd list-sink-inputs | awk '/index:/{print $2}' | xargs -r -I{} pacmd move-sink-input {} $SINK1
fi

Управление с клавиатуры логично было бы сделать у указанной выше программы (по аналогии с переключением раскладки клавиатуры по кругу с помощью сочетания клавиш), напишите её разработчикам, может быть, сделают.

adawdp

  • Гость
Re: Кнопка для переключения аудиовыхода
« Ответ #9 : 17 Декабря 2015, 17:40:15 »
2015 Dec 17; 09:40 AM

0xAD, спасибо, я понял, после работы всё проверю…


Пользователь решил продолжить мысль [time]18 Декабрь 2015, 07:05:54[/time]:
2015 Dec 17; 10:05 PM

— Скрипт, естественно, работает на всех режимах. Т.е. переключает устройства в момент воспроизведения звука и без воспроизведения, я имею в виду, что можно сначала включить нужное устройство, а потом подать на него звук…

— По поводу написать разработчику indicator-sound-switcher что-то не нашёл подходящего места где к нему можно ненавязчиво  :) обратиться. А то как-то денег не предлагаю, а предлагаю поработать на субботнике волонтёром :)

— Хотелось бы, конечно, иметь индикатор звука с “человеческим лицом” :) !
« Последнее редактирование: 18 Декабря 2015, 06:15:52 от adawdp »

werlock

  • Гость
Re: Кнопка для переключения аудиовыхода
« Ответ #10 : 20 Декабря 2015, 21:09:15 »
Ненавязчиво обратиться можно наверное http://yktoo.com/ru

Пользователь решил продолжить мысль 21 Декабря 2015, 00:10:24:
« Последнее редактирование: 21 Декабря 2015, 00:10:24 от werlock »

Оффлайн 0xAD

  • Любитель
  • *
  • Сообщений: 62
    • Просмотр профиля
Re: Кнопка для переключения аудиовыхода
« Ответ #11 : 21 Декабря 2015, 20:14:18 »
А, так вот же есть: https://github.com/yktoo/indicator-sound-switcher/issues. На странице программы обозначена как книга жалоб и предложений.

 

Страница сгенерирована за 0.02 секунд. Запросов: 21.