Hallo,
Ich möchte bei meinem Pi3 mit OE 6.03 per Knopfdruck auf der Fernbedienung den Ton z.B. auf 30% stellen und bei erneutem Knopfdruck auf das alte Level zurückschalten.
Sinn: Bei lauten Szenen in Filmen könnte ich so kurzfristig leiser Stellen und anschliessend wieder in gleicher Lautstärke weiterfahren.
Folgenden Versuch habe ich bereits unternommen:
import xbmc
import json
result = json.loads(xbmc.executeJSONRPC('{"jsonrpc":"2.0","method":"Settings.GetSettingValue","params":{"setting":"audio.fvolumelevel"},"id":1}'))
soundLevel = result["result"]["value"]
if soundLevel != "0.4":
##xbmc.executeJSONRPC('{"jsonrpc":"2.0","method":"Settings.SetSettingValue","params":{"setting":"audiooutput.audiodevice","value":"PI:HDMI"},"id":1}')
xbmc.executebuiltin("SetVolume(50[,showvolumebar])")
xbmc.executebuiltin("Notification(Status,Krachszene)")
else:
##xbmc.executeJSONRPC('{"jsonrpc":"2.0","method":"Settings.SetSettingValue","params":{"setting":"audiooutput.audiodevice","value":"ALSA:iec958:CARD=Device,DEV=0"},"id":1}')
xbmc.executebuiltin("SetVolume([,showvolumebar])")
xbmc.executebuiltin("Notification(Status,Normallaut)")
Alles anzeigen
Dieses Skript führe ich per Knopfdruck bereits aus.
Leider erkennt es den Befehl "setting":"audio.fvolumelevel" gemäss Logfile nicht.
Den If/else Teil kann ich anschliessend noch selber zurechtbasteln.
Wie kann ich nun die aktuelle Lautstärke so auslesen, dass ich sie im Skript weiterverwenden kann?
Oder gibt es allenfalls schon eine fertige Lösung wie ich den Ton dynamisch Regeln kann?
Wenn jemand eine Lösung hat, wäre ich sehr dankbar.