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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Кнопка отключения микрофона.  (Прочитано 6471 раз)

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

Оффлайн Enotaltayskiy

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Кнопка отключения микрофона.
« : 05 Марта 2011, 09:10:08 »
Всем привет. СВЕРХ ЗАДАЧА ! Хочу на панель вывести кнопку для включения - отключения микрофона. На картинке указана галочка которая это самое делает. Подскажите как правильно сделать такую кнопку.  :)

アルタイからアライグマ

Оффлайн sdfi

  • Любитель
  • *
  • Сообщений: 93
  • Ubuntu 21.04
    • Просмотр профиля
Re: Кнопка отключения микрофона.
« Ответ #1 : 05 Марта 2011, 09:28:34 »
Можно, например, так:
1) Находим имя устройства ввода:
pactl stat | grep Sourceу меня это:
Default Source: alsa_input.pci-0000_00_10.1.analog-stereo2) Проверяем, что работает:
pactl set-source-mute Default Source: alsa_input.pci-0000_00_10.1.analog-stereo 1Микрофон должен вырубиться. Далее:
sudo apt-get install gtrayicon3) И пишем в автозагрузку что-то вроде:
gtrayicon --activate='pactl set-source-mute alsa_input.pci-0000_00_10.1.analog-stereo 1' --deactivate='pactl set-source-mute alsa_input.pci-0000_00_10.1.analog-stereo 0'
« Последнее редактирование: 05 Марта 2011, 09:34:05 от sdfi »
Здравый рассудок - понятие не статистическое. Джордж Оруэлл.

Оффлайн Enotaltayskiy

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: Кнопка отключения микрофона.
« Ответ #2 : 05 Марта 2011, 10:11:22 »
Срасибо за наводку, сделал так :
pactl stat - смотрим устройство входа по умолчанию
pactl list  (выводит все устройства и т.д.) - находим это устройство в разделах sink# и запоминаем номер этого sink
pactl set-source-mute "номер sink" no или yes - проверяем
sudo apt-get install gtrayicon
пишем в автозагрузку gtrayicon --activate='pactl set-source-mute "номер sink" yes' --deactivate='pactl set-source-mute "номер sink" no'
log out, log in
Только теперь надо найти как значёк на панели поменять.
アルタイからアライグマ

Оффлайн kom3s

  • Участник
  • *
  • Сообщений: 149
    • Просмотр профиля
Re: Кнопка отключения микрофона.
« Ответ #3 : 05 Марта 2011, 10:32:51 »
Только теперь надо найти как значёк на панели поменять.
gtrayicon --activate-icon="/путь/к/значку" --deactivate-icon="/путь/к/значку"

Оффлайн Enotaltayskiy

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: Кнопка отключения микрофона.
« Ответ #4 : 05 Марта 2011, 10:34:55 »
А я просто в usr/share/gtrauicon значки поменял
アルタイからアライグマ

Оффлайн baz50

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Кнопка отключения микрофона.
« Ответ #5 : 10 Марта 2011, 15:35:57 »
а как теперь итог забить в хоткей? вот мой вывод из: gtrayicon --activate='pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo yes' --deactivate='pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo no'
log out, log in
всё работает, но надо на хоткей. если писать это же туда, то запускается 2я копия проги.

Пользователь решил продолжить мысль 10 Марта 2011, 15:52:16:
а надо чтобы при зажатой кнопке, например super, микрофон включался, а при отпущеной отключался
« Последнее редактирование: 10 Марта 2011, 15:52:16 от baz50 »

Оффлайн aliftin

  • Старожил
  • *
  • Сообщений: 1398
    • Просмотр профиля
Re: Кнопка отключения микрофона.
« Ответ #6 : 10 Марта 2011, 19:09:00 »
Можно написать простой скрипт. Проверяем работу микрофона и выполняем действие.
i=`amixer get Mic | grep "Front Left:" | awk '{print $7}'`
if [ "$i" = "[off]" ]
then
     pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo yes
else
     pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo no
fi

По идее как то так.
Если мы не можем до чего то дотянуться, мы виним в этом не свой рост, не отсутствие табуретки, а свою цель.

Оффлайн baz50

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Кнопка отключения микрофона.
« Ответ #7 : 11 Марта 2011, 11:54:20 »
lost@lost-laptop:~$ '/home/lost/Рабочий стол/bash.sh'
/home/lost/Рабочий стол/bash.sh: строка 7: ошибка синтаксиса около неожиданной лексемы `fi'
/home/lost/Рабочий стол/bash.sh: строка 7: `fi'

Оффлайн Enotaltayskiy

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: Кнопка отключения микрофона.
« Ответ #8 : 17 Марта 2011, 07:39:05 »
А вот ещё вопрос по теме. Этот гытрэйикон, запускается какбы это сказать, сам по себе, то есть например выключаю микрофон, перезагружаю комп а этот трэй показывает что он включен (хотя он на самом деле выключен), то есть нет у него обратной связи с выполняемой командой, когда он запускается он не знает, включен уже микрофон или нет, а это грозит всякими не приятными случайностями.
アルタイからアライグマ

Оффлайн baz50

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Кнопка отключения микрофона.
« Ответ #9 : 17 Марта 2011, 13:59:57 »
я в поисках решений добрался и до темы гентушников.... http://en.gentoo-wiki.com/wiki/Multimedia_Keys#GNOME
читал, пробовал сделать, но сразу упёрся в несоответствие путей, а там чем дальше тем страшней :))))

Оффлайн tollinik

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Кнопка отключения микрофона.
« Ответ #10 : 12 Ноября 2011, 02:50:10 »
Вот как у меня получилось:

- вначале все как и в предыдущих ответах - находим устройство:
pactl stat -  смотрим Источник по умолчанию: В параметрах звука Gnome это и есть моя камера с микрофоном.
или  pacmd list-sources  - выводит полный список и информацию о источниках звука.
Находим интересующее устройство (ищем  значение  index:  , у меня  index: 0 ) либо значение  name: <...>  .

- теперь можно проверить:
pactl set-source-mute '0' yes  или  no
либо вместо '0' можно использовать полное имя устройства  ( name: <...> )
pactl set-source-mute 'alsa_input.usb-Vimicro_Corp._Venus_USB2.0_Camera-02-Camera.analog-mono' yes или no

- далее устанавливаем кнопку:
sudo apt-get install gtrayicon

- создаем исполняемый скрипт (gtrayicon-up.sh) который будет проверять статус микрофона и запускать кнопку gtrayicon с иконкой соответствующей состоянию микрофона (вкл/выкл):
mkdir ~/.gnomic  #папка, где будет лежать скрипт и иконки
cd ~/.gnomic
nano gtrayicon-up.sh  # Содержимое скрипта:

i=`amixer get Capture | grep "Mono: Capture" | awk '{print $5}'`  # значение grep и awk '{print $_ }' можно менять в зависимости от вывода команды amixer get Capture
if [ "$i" = "[off]" ]
then
    gtrayicon --deactivate='pactl set-source-mute '0' yes' --activate='pactl set-source-mute '0' no' --activate-icon=/home/имя пользователя/.gnomic/mic-off.png --deactivate-icon=/home/имя пользователя/.gnomic/mic-on.png
else
    gtrayicon --activate='pactl set-source-mute '0' yes' --deactivate='pactl set-source-mute '0' no' --deactivate-icon=/home/имя пользователя/.gnomic/mic-off.png --activate-icon=/home/имя пользователя/.gnomic/mic-on.png
fi

chmod +x gtrayicon-up.sh  # делаем скрипт исполняемым

Проверяем:
./gtrayicon-up.sh

Осталось только добавить скрипт в Система > Параметры > Запускаемые приложения и всё!
Всем удачи!

 

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