私の解決策は未熟です。
Arch Linux、Firefox、i3wm、およびメディアキーを備えたキーボードを自由に使用できます。
1 Firefoxの拡張機能
おそらくChromeにも似たようなものがありますが、ここでは優秀な人々が非常に適切な拡張機能を考え出しました。その本質はjavascriptのリモート起動です。 選択したタブに含めると、Firefoxはポート32000を開き、そこでポートがコマンドを受信して実行します。 すべてが非常に簡単です。
このように:
- addons.mozilla.org/en/firefox/addon/remote-controlをインストールします
- radio.yandex.ruを開きます
- ブラウザパネルのボタンで拡張機能を有効にします
- ポートを確認
$ netstat -ntpl | grep 32000 tcp 0 0 127.0.0.1:32000 0.0.0.0:* LISTEN 3687/firefox
2コマンドを送信するスクリプト
次に、コマンドをブラウザーに送信して、たとえば〜/ .opt / bin / radio.yandex.ru-clientに配置するスクリプトを作成します。
#!/bin/bash case "$1" in playpause) CMD="Mu.Flow.togglePause();" ;; next) CMD="Mu.Flow.flow.next();" ;; esac echo $CMD | nc -c localhost 32000 exit 0
3メディアキーのバインド
構成ファイルi3wm〜/ .i3 / configを編集します。
bindsym XF86AudioPlay exec ~/.opt/bin/radio.yandex.ru-client playpause bindsym XF86AudioNext exec ~/.opt/bin/radio.yandex.ru-client next
キーボードにNextキーがなかったため、Super + VolumeUpにバインドする必要がありました。
bindsym $mod+XF86AudioRaiseVolume exec ~/.opt/bin/radio.yandex.ru-client next
試行2
原則として、これは終了した可能性がありますが、このタブに拡張機能を含める必要性が残っており、拡張機能は非常に興味深いように見えましたが、多少制限がありました。
完了
名前やURIなどによって、任意のタブにアクセスすることはできませんでした。 拡張機能の利点はgithubで公開されています。 次の分岐-> developer.mozilla.org->完了。 プルリクエストがありますが、現在のところ、修正された拡張機能はraw.githubusercontent.com/irvinzz/FF-Remote-Control/master/remote_control-1.3-fx.xpiにあります。
そして、それに応じて、適応スクリプト
#!/bin/bash case "$1" in playpause) CMD='{"selector":{"uri":"https://radio.yandex.ru/"},"command":"Mu.Flow.togglePause();"}' ;; next) CMD='{"selector":{"uri":"https://radio.yandex.ru/"},"command":"Mu.Flow.flow.next();"}' ;; esac echo $CMD | nc -c localhost 32000 exit 0
注文のために、スクリプトのリポジトリgithub.com/irvinzz/sites-remote-controlを開始しました。 他のサイトのプルリクエストを受け入れる準備ができています。
ご清聴ありがとうございました。その原理は明確で、Windows、Chrome、その他の音楽付きサイトに適応できると思います。
PS:
窓の下
予想どおり、ウィンドウの適応は待たされませんでした。
ここで議論があります。
NetCat- ここから取得
ここに私が得たものがあります:
music.yandex.ru.cmd:
@echo off GOTO :%1 :playpause set "CMD=(function(f){f.player.pause()^|^|f.player.resume()^|^|f.play()})(Mu.pages.player.flow);" goto :END :next set "CMD=Mu.pages.player.flow.next();" goto :END :prev set "CMD=Mu.pages.player.flow.prev(); goto :END :END echo %CMD% > cmd.txt type cmd.txt | nc.exe -v -d localhost 32000 del cmd.txt
この方法で、点滅するウィンドウを取り除くことができます。
music.yandex.ru-playpause.vbs:
CreateObject("Wscript.Shell").Run "music.yandex.ru.cmd playpause", 0, True