A2DP Bluetooth headphone のスムースなシンク切り替え

新規にターミナル(端末)を開きます。ubuntu系は以下を同時押し。CTRL+ALT+T

#スムースなシンク切り替え器の使い方

~/bin に、以下のテキストをスクリプトとして保存。1行だけオレンジを書き換える。

多数BTヘッドフォンを保有している場合は、ヘッドフォン毎にスクリプトを作ると管理が楽ちん。たとえば、 ~/bin/sonyMDRxxx とか、ELECOMxxx とか。MACを書き換えるのを忘れないでください。


利用タイミング

BTヘッドフォンの電源をいれてだいたい10秒後ぐらい。2秒ぐらいでもいいけれど。


使い方:
  • ターミナルで、スクリプト名を叩く。
  • ファイルマネージャーでクリックする。
  • 右クリックメニューに割り当てる。(おまけ実例後半)

お好きなように。

備考:なぜ必要か
GUIのサウンドでは表示はデジタルのままでも、実際はBTに切り替わっているというバグなんかが当方の環境では起きるので、 マウス操作するよりコマンドで確実に! という方針なのです。見た目ではわからない。Cinnamonです。最新版でも同様。Blueberryっていまいちなのかな?!

特に困ってない人は何もしなくてもいいのです。

#bt_smooth_sink(do name as you like it.)

#! /bin/bash
#@ A2DP 接続をほぼ確実にする。SINK切り替え限定の簡易版。Zish
# 接続+SINK切り替え版からのサブセットで抜き出しました。
#2012-2017
#
#書き換え   ↓ your own a2dp headphone, you must rewrite below line !!
A2DPMAC=1A:A5:C6:D7:F2:CC
#A2DPMAC=2nd
#
#
#
#
BTSINKS=${A2DPMAC//:/_}

#接続そのものが難儀な場合は次を有効にしたほうがよい。

    bt-device --connect $A2DPMAC




#echo ②デフォルトシンクを $A2DPMAC Bluetooth に
    pactl list short sinks | grep $BTSINKS | perl -pe 's/^(\d.*?)\tbluez_.*$/pacmd set-default-sink $1/' | sh
#echo ③ BluetoothプロファイルをA2DPに切り替える
    #pactl set-card-profile bluez_card.$BTSINKS off
    pactl set-card-profile bluez_card.$BTSINKS a2dp_sink
    pactl set-sink-volume  bluez_sink.$BTSINKS 115%
#echo ④ pactl set-default-sink bluez_sink.$BTSINKS 前後関係チェック
    pactl set-default-sink bluez_sink.$BTSINKS



#echo check bluez_sink="$BTSINKS"
if  pactl list short sinks | grep -E 'bluez_sink' ; then
#    echo ⦿ ブルートゥース A2DP + Hi-Fi 接続済み ⦿
#    pactl list short sinks | grep bluez_sink | grep -P --color=auto '(hdmi)|(analog)|(iec\d*)|(bluez_sink)|\s(\d\d\d\d.*?)(?=Hz)|surround.*?\d\s|RUNNING|\s\d(?=ch)|(?!=s)(\d\d)(?=le)'
    #無論、BTSINK限定なので無効であればA2DPから音出しできない。A2DP接続前提。定位チェックではないです
    echo "女性の声で「左、右、真ん中」. A2DP(ヘッドフォン)から聞こえればたぶん成功。"
        paplay -d bluez_sink.$BTSINKS /usr/share/sounds/alsa/Front_Left.wav
        paplay -d bluez_sink.$BTSINKS /usr/share/sounds/alsa/Front_Right.wav
        paplay -d bluez_sink.$BTSINKS /usr/share/sounds/alsa/Front_Center.wav
else
    echo "bluez_sink $BTSINKS ' がありません。BT/A2DP $BTSINKS は接続されていません。"
fi
echo EXIT


exit
Zish
A2DP 接続を確実にする。SINK切り替え簡易版(サブセット)。


#おまけ::Cinnamon/nemoアクションの右クリックメニューの実例:サブセットじゃないほう。

[Nemo Action]
Name=サウンド出力切替 Bluetooth SONY
Comment=sinks SONY


Exec=bash -c "sinks sony ; cinnamon-settings sound ;"
#Exec=bash -c "sonymdr ;"
Icon-Name=deadbeef
Selection=none
Extensions=none
EscapeSpaces=true
Quote=double
Active=true

Namida Zone :: 神々は細部に宿る――涙とともに、夜な夜なパンをかじった。

Grub2をめぐるあれこれ。テーマ、背景、フォント。それが Cute Grub 計画

No Copyright Girl / ノーコピーライトガール Grubと戯れるという意味のない日常:: Cute Grub 計画 コンピューターの電源オン後、 OS オペレーティングシステムを起動するためのブートローダーが先ず動きだす――ほぼすべてのLinux...