Как мне предотвратить Viber от слишком большого значения громкости моего микрофона?

Возможное решение - использовать ps , как вы предложили, сценарий оболочки и запланировать cron.

Сценарий оболочки должен получить текущее использование процессора процессом, сравнить его с предыдущим максимальным значением и, если оно больше, обновить файл.

#!/bin/bash

CURRENT_VALUE=`ps -p 3445 -o %cpu | sed -n '2p'`
PREVIOUS_VALUE=`sed -n '2p' max_cpu_usage_of_pid.sh.out`

if (( $(echo "$PREVIOUS_VALUE $CURRENT_VALUE" | awk '{print ($1 > $2)}') )); then
        ps -p 3445 -o %cpu > max_cpu_usage_of_pid.sh.out
fi
  • Примечание 1: файл max_cpu_usage_of_pid.sh.out должен существовать
  • Примечание 2: у меня возникли некоторые трудности при сравнении двух десятичных чисел в сценарии bash, это решило

PS: I ' Я не очень разбираюсь в сценариях bash, любые улучшения или предложения приветствуются :)

2
22.11.2017, 02:36
1 ответ

Вопрос немного устарел, но у меня была та же проблема, и я наконец нашел решение. Я также использую Linux Mint версии 19.

В домашней папке Viber создает базу данных настроек, ~/.ViberPC/config.db -это просто база данных SQLite3. Я использовал SQLiteStudio для редактирования.

Существует таблица DefaultSettings, которая по умолчанию пуста. Я добавил строку. Идентификатор ограничен внешним ключом, который в основном представляет собой номер телефона, который вы зарегистрировали в Viber с помощью (, вы можете получить его из таблицы «Учетные записи» ). CodecID, вероятно, будет равен 0, вы можете получить его из таблицы VideoCodecPreferences. UnmuteSpeakers и AutoAcceptVideo равны 1 или 0, как вам больше нравится. InputVolumeLevel — это тот, который беспокоит вас с вашим микрофоном -, вам придется поэкспериментировать, чтобы найти здесь удобный уровень, я начал примерно с 50 и работал оттуда. OutputVolumeLevel аналогичен.

Сохраните базу данных, перезапустите Viber, и все готово.

1
27.01.2020, 22:18

Теги

Похожие вопросы