আমি কীভাবে ছোট ইনক্রিমেন্টে ভলিউম পরিবর্তন করতে পারি?


53

আমি যখন আমার কীবোর্ডে ভলিউম আপ / ডাউন কীগুলি টিপই, ভলিউমটি খুব বেশি পরিবর্তন হয়। আমি আরও ভাল নিয়ন্ত্রণ করতে পারি যাতে আমি কীভাবে পদক্ষেপের আকারকে আরও ছোট করতে পারি?

উত্তর:


12

11.10 / 12.04

এই বাগ-প্রতিবেদন থেকে এটি ভলিউম-স্টেপ কী ১১.১০-এ অদৃশ্য হয়ে গেছে এবং (এখনও পর্যন্ত) উপস্থিত হয়নি।

সুতরাং, ভলিউম পদক্ষেপ হ্রাস করতে আপনি করতে পারেন এমন একটি সহজ সরল কনফিগারেশন পরিবর্তন নেই।

লিঙ্কের # 18 পোস্টে একটি আকর্ষণীয় কাজ করেছে যা alsamixerডেস্কটপে বিজ্ঞপ্তি প্রেরণের সাথে একত্রে বৃদ্ধি এবং হ্রাস ক্ষমতা ব্যবহার করে ।

তবে আমি এটি কাজ করতে পারি না - এইভাবে সমাধানটি গ্রহণ করা সেই পোস্টের উপর ভিত্তি করে।

এই সমাধানের সাথে, ডিফল্ট ভলিউম পদক্ষেপটি কমিয়ে দুই শতাংশ করা হবে।


কিভাবে

xbindkeysপ্যাকেজটি ইনস্টল করুন (সিনাপটিক ব্যবহার করে বা এর সাথে sudo apt-get install xbindkeys)।

আপনার প্রিয় পাঠ্য সম্পাদকটি ব্যবহার করে, আপনার হোম ফোল্ডারে কল করা একটি ফাইল তৈরি করুন এবং .volumeHack.shনীচে থাকা অনুলিপিগুলি সেই ফাইলটিতে অনুলিপি করুন এবং আটকান

gedit ~/.volumeHack.sh

chmod a+x .volumeHack.shএটি কার্যকর করার জন্য চালান ।

তারপরে ফাইলটি সম্পাদনা করুন ~/.xbindkeysrcএবং এই ফাইলের নীচে নীচে পাঠ্যটি অনুলিপি করুন এবং আটকান। অর্থাত

gedit ~/.xbindkeysrc

লগআউট এবং লগইন

.xbindkeysrc

# Increase volume
#"amixer set Master playback 1+"
"sh ~/.volumeHack.sh -c up -i 2% -m Master"
    m:0x0 + c:123
    XF86AudioRaiseVolume

# Decrease volume
"sh ~/.volumeHack.sh -c down -i 2% -m Master"
    m:0x0 + c:122
    XF86AudioLowerVolume

# Toggle mute - this is not used here
#"amixer set Master toggle"
# m:0x0 + c:121
# XF86AudioMute

.volumeHack.sh

#!/bin/sh

usage="usage: $0 -c {up|down|mute} [-i increment] [-m mixer]"
command=
increment=5%
mixer=Master

while getopts c:i:m:h o
do case "$o" in
    c) command=$OPTARG;;
    i) increment=$OPTARG;;
    m) mixer=$OPTARG;;
    h) echo "$usage"; exit 0;;
    ?) echo "$usage"; exit 0;;
esac
done

#echo "command:$command"
#echo "increment:$increment"
#echo "mixer:$mixer"

if [ "$command" = "" ]; then
    shift $(($OPTIND - 1))
    command=$1
    exit 0;
fi

if [ "$command" = "" ]; then
    echo "usage: $0 {up|down|mute} [increment]"
    exit 0;
fi

display_volume=0

if [ "$command" = "up" ]; then
    display_volume=$(amixer set $mixer $increment+ unmute | grep -m 1 "%]" | cut -d "[" -f2|cut -d "%" -f1)
fi

if [ "$command" = "down" ]; then
    display_volume=$(amixer set $mixer $increment- unmute | grep -m 1 "%]" | cut -d "[" -f2|cut -d "%" -f1)
fi

icon_name=""

if [ "$command" = "mute" ]; then
    if amixer get Master | grep "\[on\]"; then
        display_volume=0
        icon_name="notification-audio-volume-muted"
        amixer set $mixer mute
    else
        display_volume=$(amixer set $mixer unmute | grep -m 1 "%]" | cut -d "[" -f2|cut -d "%" -f1)
    fi
fi

if [ "$icon_name" = "" ]; then
    if [ "$display_volume" = "0" ]; then
        icon_name="notification-audio-volume-off"
    else
        if [ "$display_volume" -lt "33" ]; then
            icon_name="notification-audio-volume-low"
        else
            if [ "$display_volume" -lt "67" ]; then
                icon_name="notification-audio-volume-medium"
            else
                icon_name="notification-audio-volume-high"
            fi
        fi
    fi
fi
notify-send " " -i $icon_name -h int:value:$display_volume -h string:synchronous:volume

#echo "icon: $icon_name and $display_volume"

ডল্টির উত্তর আমার পক্ষে কাজ করেছিল একবার আমি ভলিউম আপ / ডাউনের জন্য জিনোমের কীবোর্ড শর্টকাটকে অক্ষম করে। এক্সবাইন্ডকিজের এই সতর্কতাটি আমার প্রয়োজনীয় ক্লুটি ছিল: *** সতর্কতা *** দয়া করে যাচাই করুন যে অন্য কোনও প্রোগ্রাম চলছে না যা এক্সবাইন্ডকিজ দ্বারা ক্যাপচার করা কীগুলির মধ্যে একটিকে ক্যাপচার করে। দেখে মনে হচ্ছে যে একটি বিরোধ আছে, এবং এক্সবাইন্ডকিগুলি এর কনফিগারেশন ফাইলে সংজ্ঞায়িত সমস্ত কীগুলি ধরতে পারে না।

1
রেকর্ডটির জন্য, অপরাধী হ'ল জিনোম বিকাশকারীদের একটি ব্যবহারিক সমাধান প্রদান করতে অনিচ্ছুক: bugzilla.gnome.org/show_bug.cgi?id=650371
জাকুব কোটভস্কি

17

উবুন্টু 14.04 / 15.04 / 15.10 / 16.04 / 16.10 / 17.04

আমার কাছে শেষ পর্যন্ত বিশ্বস্ত, বিবিধ, উইলি, জেনিয়াল, ইয়াক্কেটি এবং জেস্টি ব্যবহারকারীদের জন্য একটি সঠিক সমাধান রয়েছে। একগুচ্ছ হ্যাক বা স্ক্রিপ্ট ব্যবহার না করে, উত্স কোডটিতে সমস্যাটি ঠিক করার সিদ্ধান্ত নিয়েছি। আমি আবেদন এই প্যাচ থেকে জিনোম-সেটিংস-ডেমনজিনোম-সেটিংস-ডেমন ইনস্টল করুন এবং ঐক্য-সেটিংস-ডেমনUnityক্য-সেটিং-ডেমন ইনস্টল করুন (কিছু তুচ্ছ পরিবর্তন প্যাচ দেয়া হয়েছিল)।

আমি একটি পিপিএতে প্যাকেজগুলি আপলোড করেছি:

পিপিএ: জর্জে-এডিসন 55 / জিনোম-সেটিংস-ডেমনলঞ্চপ্যাড লোগো ( পিপিএ ব্যবহারের নির্দেশাবলীর জন্য এখানে ক্লিক করুন ))

একবার আপনি পিপিএ যুক্ত করলে চালান:

sudo apt-get update
sudo apt-get upgrade

ইনস্টলেশন সমাপ্ত হওয়ার পরে আপনাকে পুনরায় চালু করতে হবে। প্যাকেজ আপগ্রেড করা হয়েছে, আপনি ব্যবহার করতে পারেন কমান্ড ভলিউম বৃদ্ধি পরিবর্তন করতে:dconfম্যানপেজ আইকন

dconf write /org/gnome/settings-daemon/plugins/sound/volume-step 2

(ডিফল্ট মান 6 হয়)

এখন আপনি যখন ভলিউম কীগুলি টিপবেন তখন ভলিউম 2 এর ইনক্রিমেন্টে পরিবর্তিত হবে:

এখানে চিত্র বর্ণনা লিখুন


3
এই পিপিএ কি ভবিষ্যতে প্রবাহিত জিনোম / unityক্য-সেটিংস-ডেমন দিয়ে আপডেট থাকবে?
তারকাবিআমরনোলাবস

1
@ স্টারবিআমরিনবোলাবস হ্যাঁ, আমি আশা করি এটি শীর্ষে থাকবেন।
নাথান ওসমান

1
ধন্যবাদ! শুধু চেক করতে চেয়েছিলেন। আমি আপনার পিপিএর মূল পিপায়ার একত্রীকরণ না করা অবধি ব্যবহার করা স্যুইচ করব (ধরে নিই যে এমনটি ঘটেছিল)।
স্টারবিয়াম্রেনবোলাবস

1
@ নাথানঅসমান আপনি প্যাচ এবং প্যাকেজও করতে পারেন এমন কোনও সুযোগ আছে mate-settings-daemon? আমি চির কৃতজ্ঞ থাকব :-)
অ্যালেক্স গ্রিন

3
@ অ্যালেক্সগ্রিন সুসংবাদ - মেট ইতিমধ্যে এই বাক্সটির বাইরে সমর্থন করে। ইনক্রিমেন্ট মান পরিবর্তনের জন্য আপনাকে কেবল একটি আলাদা কমান্ড ব্যবহার করতে হবে: নতুন মানটি dconf write /org/mate/settings-daemon/plugins/media-keys/volume-step <NUM>কোথায় <NUM>। আমি সবেমাত্র মেতে 16.04 এ এটি পরীক্ষা করেছি।
নাথান ওসমান 21

11

10,04 / 10,10 / 11,04

আমি সবেমাত্র আবিষ্কার করেছি যে gconf-editor"ভলিউমের শতাংশ হিসাবে ভলিউম পদক্ষেপ" এর একটি সেটিংস রয়েছে:

/apps/gnome_settings_daemon/volume_step

আরও অনেক মার্জিত এবং এটি ওএসডি ভলিউম বিজ্ঞপ্তিগুলির সাথে কাজ করে।


10

এই সহজ সমাধানটি (কমপক্ষে) 12.04 এর জন্য কাজ করে এবং এর জন্য সিসিএসএম প্রয়োজন হয় না।

আপনি কীবোর্ড শর্টকাটগুলি ব্যবহার করার সময় আপনার অন-স্ক্রিন ভলিউম বার ক্রিয়াকলাপটি থাকবে না, তবে আপনার ইচ্ছা অনুযায়ী সূক্ষ্ম-গ্রেড ভলিউম নিয়ন্ত্রণ থাকবে।

  1. সিস্টেম সেটিংস> কীবোর্ড> "শর্টকাটগুলি" ট্যাব> "সাউন্ড এবং মিডিয়া" বিভাগ

  2. বিদ্যমান "ভলিউম ডাউন" এবং "ভলিউম আপ" শর্টকাটগুলি অক্ষম করুন। এটি করতে, এটি নির্বাচন করতে প্রতিটি ক্লিক করুন এবং তার সাথে যুক্ত কোনও কী কম্বো সাফ করতে ব্যাকস্পেস টিপুন।

  3. এখন "কাস্টম শর্টকাটস" বিভাগটি নির্বাচন করুন এবং নীচে দুটি নতুন শর্টকাট তৈরি করতে "+" আইকনটি ক্লিক করুন:

    নাম: ভলিউম আপ 
    কমান্ড: অ্যামিক্সার সেট মাস্টার 3% +
    নাম: ভলিউম ডাউন 
    কমান্ড: অ্যামিক্সার সেট মাস্টার 3% -

    (শতাংশের সাথে পরীক্ষা নিরীক্ষা করুন। যদি আপনাকে খুব সূক্ষ্ম দিকে যেতে হয় তবে% চিহ্নটি বাদ দিন এবং এটি শতাংশের পরিবর্তে 0-255 স্কেল ব্যবহার করবে)।

  4. এখন আপনার প্রতিটি নতুন শর্টকাট একটি কী বা কী কম্বোকে অর্পণ করুন: একটি শর্টকাট নির্বাচন করুন এবং আপনার কীবোর্ডে পছন্দসই কী বা কীগুলি টাইপ করুন।

এর পরে, আপনি যখন কীবোর্ড ভলিউম নিয়ন্ত্রণগুলি ব্যবহার করেন তখন আপনার নির্দিষ্ট পরিমাণের পরিমাণ বাড়ানো উচিত। আপনি নিজের কাস্টম শর্টকাটগুলি অক্ষম করে এবং "সাউন্ড এবং মিডিয়া" বিভাগে প্রিমেডগুলি পুনরায় সক্ষম করে আপনি সর্বদা আসল আচরণে ফিরে যেতে পারেন।


এটি গতকাল কমান্ড লাইন এবং আমার কী ম্যাপিং থেকে কাজ করেছে, তবে রিবুট হওয়ার পরে, কোনও কমান্ড লাইন বা কী ম্যাপিংয়ের কোনও প্রভাব নেই।
গ্লেনপিটারসন

8

এটি লক্ষণীয় যে উবুন্টু 17.10 তে, এর জন্য ইতিমধ্যে (কিছুটা সংশ্লেষিত হলেও) এক ধরণের সমর্থন রয়েছে। একটি ছোট ধাপের আকারের সাথে ভলিউম পরিবর্তন করতে Shift+ XF86AudioRaiseVolume(বা XF86AudioLowerVolume) টিপুন ।

এখানে চিত্র বর্ণনা লিখুন


এটি জিনোমে এত দুর্দান্ত ছিল এবং আমি দারুচিনিতে সত্যিই মিস করি। :( (জিনোম আমার জন্য পাগলের মতো স্মৃতি ফাঁস করছিল কারণ জিনোম-শেল সর্বাধিক 6 গিগাবাইট র‌্যাম ব্যবহার করছিল))
পার লুন্ডবার্গ

পছন্দ করুন আমি মেমরি ফুটো থেকে সত্যিই বিরূপ প্রভাব অনুভব করতে পারি নি।
ননি মজ

আপনি কতবার রিবুট করেন? আমি আমার মেশিনটি এক সপ্তাহ বা তারও বেশি সময় ধরে চলতে চলেছি, যা সমস্যাটি যখন ততক্ষণে তীব্র হয়।
প্রতি Lundberg

@ পেরলুন্ডবার্গ রাতে একবার লল করুন। এখন এক্সডি করুন
ননি মজ

1
আহা, দেখছি। আমি কাজ করে লিনাক্স চালাই তাই আমি সাধারণত প্রয়োজন ব্যতীত কখনই মেশিনটি বন্ধ না করি। এটি সন্ধ্যায় ঘুমাতে রাখুন, পরের দিন সকালে পুনরুদ্ধার করুন।
প্রতি লন্ডবার্গ

5

আপনি এটি কমপিজ কনফিগ সেটিংস ম্যানেজারের মাধ্যমে করতে পারেন। sudo apt-get install compizconfig-settings-manager আপনি যদি ইতিমধ্যে এটি ইনস্টল না করে থাকেন তবে কমান্ডটি ব্যবহার করুন ।

এখন CompizConfig সেটিংস ম্যানেজার খুলুন এবং যান কমান্ড মধ্যে সাধারণ অধ্যায়। ডানদিকে সক্ষম কমান্ডগুলির চেকবক্সটি পরীক্ষা করুন । ইন কমান্ড ট্যাব, দুই কমান্ড হিসাবে আলাদাভাবে নিম্নলিখিত দুটি কমান্ড লিখুন:

amixer set Master 5%+ -q

amixer set Master 5%- -q

কী বাইন্ডিং ট্যাবে কমান্ডগুলির জন্য দুটি কীবোর্ড শর্টকাট বরাদ্দ করুন । আমি সুপার + [এবং সুপার +] মিশ্রণটি ব্যবহার করি। এখন CompizConfig সেটিংস ম্যানেজারটি বন্ধ করুন এবং এটি কাজ করা উচিত।

আমি নিশ্চিত নই যে আপনি যদি কম্পিউটারের অন্তর্নির্মিত ভলিউম কন্ট্রোলারকে কমান্ডগুলি বরাদ্দ করতে পারেন।


1
অ্যামিক্সারের কি কমিজ দরকার?
তাক্কাত

আপনি পছন্দগুলিতে কীবোর্ড শর্টকাটগুলি ব্যবহার করে এটি করতে পারেন। যাই হোক
কমপিজ

2
amixerকমান্ড বিস্ময়কর, কিন্তু কোন প্রয়োজন আপনি CompizConfig সেটিংস ম্যানেজার ইনস্টল করার পাঠকদের নির্দেশ নেই।
ündrük

2
প্রথমে এটি আমার পক্ষে কাজ করেছিল তবে ভাল ফলাফল স্থিতিশীল ছিল না। কোনও সুস্পষ্ট কারণে আমার 12.04 সিস্টেমটি ভলিউম ইনক্রিমেন্টের সাথে অনেক বেশি বড় আকারের সাথে তার আসল আচরণে ফিরে গেছে, যদিও আমার নতুন সেটিংসটি এখনও সিসিএসএম-তে সেট করা ছিল এবং সক্ষম হয়েছিল। আমি এগুলি মুছতে এবং পুনরায় তৈরি করার চেষ্টা করেও কোনও লাভ হয়নি। আমি এটি করার জন্য আরও একটি 12.04-বান্ধব উপায় খুঁজে পেয়েছি এবং এটি অন্য উত্তর হিসাবে পোস্ট করব।
সিডিডিডিআর

3

12.04 (এবং সম্ভবত ১১.১০)

আপনি যদি ALSA রুটে না গিয়ে সরাসরি পালসওডিও ভলিউমটি নিয়ন্ত্রণ করতে চান তবে আপনি নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করতে পারেন। যদিও এই স্ট্যাকওভারফ্লো উত্তরে বিস্তারিত হিসাবে ডিবিইউসের মাধ্যমে ভলিউমটি নিয়ন্ত্রণ করা সম্ভব হওয়া উচিত , তবে উবুন্টু 12.04-এ এই কাজটি করার কোনও উপায় আমি খুঁজে পেলাম না।

যেমন স্ক্রিপ্টে বলা হয়েছে, এটি উবুন্টুতে প্রোগ্রামগতভাবে ভলিউম কীভাবে পরিবর্তন করা যায় এবং এই স্ক্রিপ্টে ধারণাটি প্রসারিত করে যা একটি কমান্ড লাইন আর্গুমেন্ট হিসাবে ভলিউম পরিবর্তন গ্রহণ করে এবং একটি ওএসডি বিজ্ঞপ্তি প্রদর্শন করে St আমি এটি ডিফল্ট উবুন্টু (12.04) আচরণের যতটা সম্ভব নিবিড়ভাবে মডেল করার চেষ্টা করেছি।

স্ক্রিপ্টটি খাঁটি বা আপেক্ষিক সংখ্যা বা শতাংশের মান হিসাবে ভলিউম পরিবর্তনগুলি গ্রহণ করে। উদাহরণস্বরূপ:

  • pavol.sh 2000 ভলিউম 2000 এ সেট করে,
  • pavol.sh 30% ভলিউম 30 শতাংশে সেট করে,
  • pavol.sh +1000 ভলিউম 1000 এবং দ্বারা বৃদ্ধি করে
  • pavol.sh -5% আয়তন হ্রাস 5 শতাংশ।

এটি আরও টুইট করার জন্য দরকারী যে এই আশায়ও বেশ উদারভাবে মন্তব্য করা হয়েছে।

কিভাবে

আপনার বাড়ির ফোল্ডারে একটি ফাইল তৈরি করতে আপনার প্রিয় পাঠ্য সম্পাদকটি ব্যবহার করুন (বা অন্য কোথাও সত্যই - কেবল পথটি মনে করুন) বলা হয়েছে pavol.shএবং সেই ফাইলটিতে নীচের বিষয়বস্তু অনুলিপি করে আটকান

gedit ~/pavol.sh

chmod a+x ~/pavol.shএটি কার্যকর করার জন্য চালান ।

তারপরে ওপেন করুন Sytem Settings, Keyboardসেটিংসে যান এবং Shortcutsট্যাবে স্যুইচ করুন । সেখানে ক্লিক করুন Custom Shortcutsএবং প্লাস বোতামের সাহায্যে দুটি নতুন কীবোর্ড শর্টকাট তৈরি করুন ।

প্রত্যেককে একটি নাম দিন এবং কমান্ড হিসাবে এই জাতীয় কিছু প্রবেশ করুন: স্ক্রিপ্টের /home/username/pavol.sh "+3%"পুরো পথটি প্রবেশ করা গুরুত্বপূর্ণ pavol.sh(স্ক্রিপ্টটি প্যাথ এনভায়রনমেন্ট ভেরিয়েবলের অন্তর্ভুক্ত কোনও ফোল্ডারে না থাকলে)। এছাড়াও ""ভলিউম মানের চারদিকে উদ্ধৃতি চিহ্ন ব্যবহার করুন বা কীবোর্ড শর্টকাট কাজ করবে না।

এর পরে একটি কী সংমিশ্রণ বা মাল্টিমিডিয়া কী সেট করতে প্রতিটি এন্ট্রির ডান দিকে ক্লিক করুন। যদি পছন্দসই সংমিশ্রণ বা কীটি ইতিমধ্যে অন্য শর্টকাটে বরাদ্দ করা হয় তবে প্রোগ্রামটি আপনাকে এটি পুনরায় নিয়োগ করতে চাইলে জিজ্ঞাসা করবে।

pavol.sh

#!/bin/bash --

## This script expands upon this answer on stackoverflow:
## https://stackoverflow.com/a/10739764
##



## GLOBAL VARIABLES

# restrict usable commands
PATH="/bin:/usr/bin"

# this script changes the volume of the default sink (as set, for instance, via the Ubuntu sound menu);
# use "pactl info" to display these settings neatly in a terminal
DEFAULT_SINK=$(pacmd dump | grep 'set-default-sink' | cut -d ' ' -f 2)

# get max. volume from the DEFAULT_SINK
MAX_VOL=$(pacmd list-sinks | grep -A 20 "name: <${DEFAULT_SINK}>" | grep "volume steps:" | tr -d '[:space:]' | cut -d ':' -f 2)

# show debug messages?
# 0 means no debug messages; 1 prints the current volume to the console at the end of the script; 2 switches on bash debugging via "set -x"
DEBUG=0



## FUNCTIONS

# generate trace output if DEBUG is 2 or higher
if [ ${DEBUG} -gt 1 ]; then set -x; fi

# use poor man's return buffer via this variable (This is not stackable!)
RETVAL=""


# print simple usage text to console
show_usage() {
    echo "Usage: $(basename ${0}) [+|-][number|percentage]"
}


# return (via RETVAL) the current pulseaudio volume as hexadecimal value
get_cur_vol() {
    RETVAL=$(pacmd dump | grep "set-sink-volume ${DEFAULT_SINK}" | cut -d ' ' -f 3)
}


# change the pulseaudio volume as set in the first parameter variable, i.e. ${1};
# this can either be an absolute percentage or normal value, for instance 20% or 2000,
# or a relative percentage or normal value, for instance +3% or -5% or +200 or -1000
change_vol() {
    step=${1}

    relative=${step:0:1} # extract first character
    percent=${step: -1}  # extract last character

    # cut off first character for easier calculations, if it is either a "+" or "-"
    if [ "${relative}" = "+" -o "${relative}" = "-" ]; then step=${step:1}; fi

    # if the last character of ${step} was, in fact, a percent sign...
    if [ "${percent}" = "%" ]; then
        step=${step:0:-1}        # cut off last character for easier calculations
        step=$[step*MAX_VOL/100] # change percentage into fixed value via MAX_VOL
    fi

    # save current volume in ${old_vol}
    get_cur_vol
    old_vol=$[RETVAL+0] # the dummy calculation turns the hexadecimal number to a decimal one

    # calculate the new volume value ${new_vol} with the operand that was extracted earlier
    if [ "${relative}" = "+" ]; then
        new_vol=$[old_vol+step]
    else
        if [ "${relative}" = "-" ]; then
            new_vol=$[old_vol-step]
        else
            # no operand found, so ${step} must be an absolute value
            new_vol=${step}
        fi
    fi

    # check boundaries - don't go below 0 and above MAX_VOL
    if [ ${new_vol} -lt 0 ]; then new_vol=0; fi
    if [ ${new_vol} -gt ${MAX_VOL} ]; then new_vol=${MAX_VOL}; fi

    # set the new volume
    pactl -- set-sink-volume "${DEFAULT_SINK}" "${new_vol}"

    # mute the sink if the new volume drops to 0 ...
    if [ ${new_vol} -le 0 ]; then
        pactl -- set-sink-mute "${DEFAULT_SINK}" yes
    else
        # ... or unmute the sink if the new volume is greater than the old
        if [ ${new_vol} -gt ${old_vol} ]; then
            pactl -- set-sink-mute "${DEFAULT_SINK}" no
        fi
    fi
}


# show an OSD notification
notify_osd() {
    # get current volume
    get_cur_vol
    cur_vol_percent=$[RETVAL*100/MAX_VOL]

    # get mute state (gives "yes" or "no")
    muted=$(pacmd dump | grep "set-sink-mute ${DEFAULT_SINK}" | cut -d ' ' -f 3)

    # choose suitable icon (modeled after the default Ubuntu 12.04 behavior):
    # muted-icon if volume is muted
    if [ "${muted}" = "yes" ]; then
        icon="notification-audio-volume-muted"
    else
        # icon with loudspeaker and 1 of the 3 circle segments filled if volume is less than 34%
        if [ ${cur_vol_percent} -lt 34 ]; then
            icon="notification-audio-volume-low"
        else
            # icon with loudspeaker and 2 of the 3 circle segments filled if volume is between 34% and 66%
            if [ ${cur_vol_percent} -lt 67 ]; then
                icon="notification-audio-volume-medium"
            else
                # icon with loudspeaker and all 3 of the 3 circle segments filled if volume is higher than 66%
                icon="notification-audio-volume-high"
            fi
        fi
    fi

    # show notification
    notify-send "Volume" -i ${icon} -h int:value:${cur_vol_percent} -h string:synchronous:volume
}


# fake main function, that gets called first and kicks off all the other functions
main() {
    # only change volume if input is a number with either a +/- prefix and/or a % suffix
    if [[ "${1}" =~ ^[+-]?[0-9]+[%]?$ ]]; then
        change_vol ${1}
    else
        show_usage
    fi

    # show volume osd
    notify_osd

    # show the new - now current - volume in hexadecimal, decimal and percentage if DEBUG is greater than 0
    if [ ${DEBUG} -gt 0 ]; then
        get_cur_vol
        echo "${RETVAL} - $[RETVAL+0] - $[RETVAL*100/MAX_VOL]%"
    fi
}



## REAL MAIN

# run the fake main function and pass on all command line arguments; then exit the script
main ${@}
exit 0

জিনোম-শেল ব্যবহার করার সময় এটি ওএসডি নোটিফাইড-সেন্ড জমে ব্যতীত এটি ভাল কাজ করে। প্রতিটি প্রেস একটি নতুন ওএসডি যুক্ত করে এবং পূর্ববর্তীটি দূরে যায় না। ওএসডি সুন্দর তবে আমার পক্ষে অত্যাবশ্যক নয়। আমি শো ওএসডি বিজ্ঞপ্তিটি মন্তব্য করার চেষ্টা করেছি তবে এটি আমার জন্য স্ক্রিপ্টটি ভেঙে দিয়েছে।
কেন্দর

দুঃখিত @ সপ্তাহান্তে এটি আপনার পক্ষে কাজ করে নি। আমি কেবল এটি ইউনিটির সাথে পরীক্ষা করেছি। আপনি কি এই বাগ রিপোর্টটিতে মন্তব্যটি থেকে কঠোর চেষ্টা করেছেন: https://bugzilla.redhat.com/show_bug.cgi?id=693207#c3 ? অবহিত করুন-পাঠানোর কমান্ডের সাথে লাইনে --hint=int:transient:1আগে যোগ করুন "Volume"(লাইন নম্বর 130 হওয়া উচিত)। হতে পারে এটি সাহায্য করে।
কুরো 16

2

কুবুন্টু 17.04

রুট হিসাবে main.xmlসাধারণত: পাওয়া ফাইল সম্পাদনা করুন /usr/share/plasma/plasmoids/org.kde.plasma.volume/contents/config/main.xml

ভলিউমস্টেপ এন্ট্রিটির জন্য দেখুন:

<entry name="volumeStep" type="Int">
  <default>2</default>
</entry>

এবং আপনি যা চান তাতে শতাংশ-প্রতি-পদক্ষেপে পরিবর্তন করুন। আপনি দেখতে পারেন হিসাবে আমি 2% ব্যবহার।

কুবুন্টু ১.0.০৪ তে লেখা আছে, এটি কার্যকর হওয়ার জন্য আপনাকে প্লাজমা পুনরায় চালু করতে হবে:

killall plasmashell #to stop it
kstart plasmashell #to restart it

0

কুবুন্টু 16.04

আমি ১৪.০৪ থেকে আপগ্রেড করেছি, যার স্বতন্ত্র ভলিউম স্তর পাশাপাশি পৃথক ইনপুট উত্স এবং আউটপুট উত্স এবং একটি 3% বৃদ্ধি / হ্রাস পদক্ষেপ (যা পরে পরিবর্তিত 5% হয়ে গেছে)। মাস্টার ভলিউম পদক্ষেপের জন্য ক্ষতিপূরণ দেওয়ার জন্য আউটপুট উত্সের ভলিউম স্তরগুলি সামঞ্জস্য করে আমি এটি প্রায় 2% এবং 3% পদক্ষেপে রাখতে পেরেছি।

সুতরাং স্বাভাবিকভাবেই, 16.04 এটিকে 6% এ উন্নীত করার সময় আমি কিছুটা বিরক্ত হয়েছিলাম এবং এর ফলে ভলিউম বোতামগুলি উভয় আউটপুট উত্সকে নিয়ন্ত্রণ করে volume

উবুন্টু ১.0.০৪-এর জন্য উপরের ফিক্সটি কে। ডি .5 তে ব্যবহৃত প্লাজমা 5 ইন্টারফেসের সাথে কাজ করে না, তাই কুবুন্টু 16.04 এর জন্য কাজ করবে না - আমি চেষ্টা করেছি, এবং এটি কাজ করে না।

সুতরাং, আমি অনলাইনে একটি দ্রুত চেক করেছি এবং প্রক্রিয়াটির জন্য ম্যানুয়ালি কোনও ফাইল পরিবর্তন করা দরকার তবে এটি মোটামুটি সোজা।

রুট হিসাবে ListItemBase.qmlসাধারণত পাওয়া ফাইল সম্পাদনা করুন /usr/share/plasma/plasmoids/org.kde.plasma.volume/contents/ui/ListItemBase.qml

ফাংশনগুলির মধ্যে কয়েকটি লাইন রয়েছে increaseVolumeএবং decreaseVolumeএটি সর্বোচ্চ ভলিউম 15 দ্বারা ভাগ করে ধাপটি সংজ্ঞায়িত করে They

var step = slider.maximumValue / 15;

সংখ্যা যত বেশি হবে তত ছোট পদক্ষেপ। এটি যদি 1 হয়, ভলিউম হয় 0% বা 100%, তবে এটি যদি 100 হয়, তবে ভলিউমটি 1% এর ধাপে এগিয়ে যাবে।

ব্যক্তিগতভাবে, আমি 2% লক্ষ্য রেখেছিলাম, তাই আমি এই দুটি লাইনই পরিবর্তিত করেছি

var step = slider.maximumValue / 50;

ক্রেডিট এই রেডডিতে যায়: https://www.reddit.com/r/kde/comments/3t1xr0/how_to_change_t_volume_increment_step_size_for/

তবে এটি কার্যকর হওয়ার জন্য আপনাকে প্লাজমা পুনরায় চালু করতে হবে:

killall plasmashell #to stop it
kstart plasmashell #to restart it

আশা করি এটি কাউকে সাহায্য করবে, বা এই প্ল্যাটফর্মটি চালিত করতে কেউ প্লাজমাতে একটি পরিবর্তন জমা দেওয়ার দিকে পরিচালিত করবে ... উভয়ই অন্য আপডেটের পরে আমার হয়ে যেতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.