অবশ্যই অ্যাপলেট ব্যবহার করে ডিভাইসগুলি স্যুইচ করাও ঠিকঠাক কাজ করছে। তবে স্ক্রিপ্ট লেখার বিষয়ে দুর্দান্ত জিনিসটি হ'ল এটি অত্যন্ত দ্রুত। আমি উদাহরণস্বরূপ কীবোর্ড শর্টকাট Alt + s এ রাখি। সুতরাং যখন আমি হেডফোনগুলি থেকে স্পিকারগুলিতে স্যুইচ করতে চাই তখন আমাকে কেবল Alt + s টিপতে হবে।
যাই হোক। অ্যান্ড্রু বলেছেন:
আপনার যদি দুটিরও বেশি অডিও ডিভাইস থাকে এবং কোনও আলাদাতে বদলাতে চান, আপনার 7 লাইন যুক্তিকে কিছু শর্তসাপেক্ষে প্রতিস্থাপন করতে হবে।
এটাই আমি করেছি। আমি এটি ভাগ করে নিই, যদি কারওর সাথে এটির ঝামেলা থাকে:
#!/usr/bin/env bash
#sinks=($(pacmd list-sinks | grep index | \
# awk '{ if ($1 == "*") print "1",$3; else print "0",$2 }'))
sinks=($(pacmd list-sinks | grep index | \
awk '{ if ($1 == "*") print "1"; else print "0" }'))
inputs=($(pacmd list-sink-inputs | grep index | awk '{print $2}'))
#find active sink
active=0
for i in ${sinks[*]}
do
if [ $i -eq 0 ]
then active=$((active+1))
else break
fi
done
#switch to next sink
swap=$(((active+1)%${#sinks[@]}))
pacmd set-default-sink $swap &> /dev/null
for i in ${inputs[*]}; do pacmd move-sink-input $i $swap &> /dev/null; done
আমি যা আলাদাভাবে করেছি তা হ'ল) ক লুপের জন্য সক্রিয় সিঙ্কটি সন্ধান করুন। এবং খ) সূচকটি 1 দ্বারা পরবর্তী সিঙ্কে স্যুইচ করুন 1 তারপরে আমি ফলাফলকে ডুবিয়ে সংখ্যা মোডুলু করি। এটি আশ্বাস দেয় যে উদাহরণস্বরূপ 3 ডুবে যাওয়ার পরে (2 + 1)% 3 = 0। সুতরাং সিঙ্ক সূচক 2 থেকে আমরা সিংক সূচক 0 এ স্যুইচ করব।
এইভাবে স্যুইচটি উপলব্ধ ডুব দিয়ে উপরের দিকে যেতে সাহায্য করে।