Ich hab mir vor längerem mit meinen bescheidenen python Kenntnissen mal
was gebastelt gehabt:
Erstellen:
~/.kodi/userdata/keymaps/remote.xml
1 | <keymap>
|
2 | <global>
|
3 | <remote>
|
4 | <blue>RunScript(/home/osmc/.kodi/userdata/keymaps/toggle_audio_out.py)</blue>
|
5 | </remote>
|
6 | </global>
|
7 | </keymap>
|
Damit kann ich mit der blauen Taste der FB das oben genannte
"~/.kodi/userdata/keymaps/toggle_audio_out.py" aufrufen, welches so
aussieht:
1 | import json
|
2 | import xbmc
|
3 |
|
4 | jsonGetAudioDevice = '{"jsonrpc":"2.0","method":"Settings.GetSettingValue", "params":{"setting":"audiooutput.audiodevice"},"id":1}'
|
5 | jsonSetAudioDevice = '{"jsonrpc":"2.0","method":"Settings.SetSettingValue", "params":{"setting":"audiooutput.audiodevice","value":"%s"},"id":1}'
|
6 | jsonNotify = '{"jsonrpc":"2.0","method":"GUI.ShowNotification","params":{"title":"Audio Output","message":"%s","image":"info"},"id":1}'
|
7 | audioDeviceHDMI = 'PI:HDMI'
|
8 | audioDeviceAnalog = 'ALSA:@:CARD=Audio,DEV=0'
|
9 | audioNameHDMI = 'TV'
|
10 | audioNameAnalog = 'HiFi'
|
11 |
|
12 |
|
13 |
|
14 | # get current audio device
|
15 | audioDeviceCurrent = json.loads(xbmc.executeJSONRPC(jsonGetAudioDevice))['result']['value']
|
16 |
|
17 | # toggle between outputs
|
18 | if audioDeviceCurrent == audioDeviceAnalog:
|
19 | xbmc.executeJSONRPC(jsonSetAudioDevice % audioDeviceHDMI)
|
20 | xbmc.executeJSONRPC(jsonNotify % audioNameHDMI)
|
21 | elif audioDeviceCurrent == audioDeviceHDMI:
|
22 | xbmc.executeJSONRPC(jsonSetAudioDevice % audioDeviceAnalog)
|
23 | xbmc.executeJSONRPC(jsonNotify % audioNameAnalog)
|
Damit schalte ich mit der blauen FB-Taste Audio-Ausgang zwischen HDMI
(zum TV) und USB-Soundkarte (zur Stereoanlage) um.
Allerdings weiß ich nicht mehr so ganz, wie ich an die Gerätenamen
gekommen bin... da kann vielleicht wer anderes helfen.