如何在摘下耳机时停止播放音乐?

如何在摘下耳机时停止播放音乐?

我正在寻找任何解决方案(算法,程序安装......),以便在我们摘下耳机时停止音乐,

谢谢 !

答案1

这是默认情况,因为 ubuntu 14.04 为您的耳机和扬声器设置了不同的配置文件。只需先将扬声器静音,然后插入耳机,它将激活耳机配置文件,您就可以听音乐了,当您取下耳机时,它将返回到最初静音的扬声器配置文件,因此它将被静音。

答案2

实际上,它有 1 秒的延迟。由于我找不到任何因拔掉耳机插头而触发的系统事件,所以我使用了 1 秒延迟循环。

  1. 使用以下方法检查接收器 ID 和端口名称:

    pactl list sinks
    
  2. 然后在监视端口状态的脚本中更改它们,然后发送 MPRIS 暂停命令:

    #!/bin/bash
    
    sink_id=1
    port_name_headset=analog-output-headphones
    port_name_speaker=analog-output-speaker
    
    
    while sleep 1 ;
    do
        cur_port=`pactl list sinks | awk '/Active Port:/ { print $3 }' | awk NR==$(( $sink_id + 1 ))`
        echo -n -e "\n was $prev_port now $cur_port"
        if [[ "$prev_port" = "$port_name_headset" && "$cur_port" = "$port_name_speaker" ]]
        then
            echo "  << Pause >>"
            gdbus call --session \
                --dest org.mpris.MediaPlayer2.vlc.instance$(pgrep vlc) \
                --object-path /org/mpris/MediaPlayer2 \
                --method org.mpris.MediaPlayer2.Player.Pause
        fi
        prev_port=$cur_port
    done
    

笔记:

相关内容