Streamer-Modus derzeit in Entwicklung!
Dieses Python-Paket bietet eine praktische Schnittstelle für die Interaktion mit der SteelSeries Sonar-Anwendungs-API.
Mit der Sonar-Anwendung können Benutzer die Lautstärke verschiedener Audiokanäle steuern und anzeigen.
Um dieses Paket zu verwenden, befolgen Sie diese Schritte:
Installieren Sie das Paket mit pip:
pip install steelseries-sonar-py
Importieren Sie die Sonar
-Klasse in Ihr Python-Skript oder Ihre Python-Anwendung:
from steelseries_sonar_py import Sonar
Die Sonar-Klasse akzeptiert während der Initialisierung zwei optionale Parameter:
streamer_mode
: Auf True setzen, um den Streamer-Modus zu verwenden (Standard ist False).
app_data_path
: Geben Sie einen benutzerdefinierten Pfad für die SteelSeries Engine 3 coreProps.json-Datei an
(Standard ist der Standardinstallationspfad: C:\ProgramData\SteelSeries\SteelSeries Engine 3\coreProps.json
).
sonar = Sonar ( app_data_path = "C: \ path \ to \ coreProps.json" )
oder
sonar = Sonar ( app_data_path = "C: \ path \ to \ coreProps.json" , streamer_mode = True )
Die steelseries sonar py Python-API unterstützt den Streamer-Modus, der es Benutzern ermöglicht, zwei separate Schieberegler zu verwalten: streaming
und monitoring
. Diese Schieberegler ermöglichen eine fein abgestimmte Steuerung verschiedener Audiokanäle.
Um zu überprüfen, ob der Streamer-Modus aktiviert ist, verwenden Sie:
is_streaming = sonar . is_streamer_mode ()
print ( "Is Streamer Mode:" , is_streaming )
Um den Streamer-Modus zu aktivieren oder zu deaktivieren, verwenden Sie:
# Enable streamer mode
sonar . set_streamer_mode ( True )
# Disable streamer mode
sonar . set_streamer_mode ( False )
Informationen zu den aktuellen Lautstärkeeinstellungen für alle Kanäle abrufen:
volume_data = sonar . get_volume_data ()
print ( volume_data )
Stellen Sie die Lautstärke für einen bestimmten Kanal ein. Der channel
sollte einer der folgenden sein:
master
, game
, chatRender
, media
, aux
, chatCapture
. Der volume
sollte ein Gleitkommawert zwischen 0 und 1 sein.
Zusätzlich kann ein optionaler streamer_slider
Parameter mit den Werten „streaming“ (Standard) oder „monitoring“ bereitgestellt werden:
channel = "master"
volume = 0.75
streamer_slider = "streaming" # or "monitoring"
result = sonar . set_volume ( channel , volume , streamer_slider = streamer_slider )
print ( result )
Schalten Sie den Stummschaltungsstatus für einen bestimmten Kanal um. Der channel
sollte einer der folgenden sein:
master
, game
, chatRender
, media
, aux
, chatCapture
. Der muted
-Parameter sollte ein boolescher Wert sein, der angibt, ob der Kanal stummgeschaltet ( True
) oder die Stummschaltung ( False
) aufgehoben werden soll.
Zusätzlich kann ein optionaler streamer_slider
Parameter mit den Werten „streaming“ (Standard) oder „monitoring“ bereitgestellt werden:
channel = "game"
muted = True
streamer_slider = "monitoring"
result = sonar . mute_channel ( channel , muted , streamer_slider = streamer_slider )
print ( result )
Chat-Mix-Daten abrufen:
chatmix_data = sonar . get_chat_mix_data ()
print ( chatmix_data )
Legen Sie den Chat-Mix-Wert zwischen -1 and 1
fest, um den Sound vom game
oder chatRender
-Kanal zu fokussieren:
result = sonar . set_chat_mix ( 0.5 )
print ( result )
Das Paket führt eine Reihe von Ausnahmen ein, die während der Verwendung ausgelöst werden können.
Es empfiehlt sich, diese Ausnahmen in Ihrem Code entsprechend zu behandeln.
Sie können sie aus steelseries_sonar_py.exceptions
importieren. Hier ist die Liste möglicher Ausnahmen:
EnginePathNotFoundError
: Wird ausgelöst, wenn SteelSeries Engine 3 nicht installiert ist oder sich nicht am Standardspeicherort befindet.ServerNotAccessibleError
: Wird ausgelöst, wenn auf den SteelSeries-Server nicht zugegriffen werden kann. Stellt den HTTP-Statuscode bereit.SonarNotEnabledError
: Wird ausgelöst, wenn SteelSeries Sonar nicht aktiviert ist.ServerNotReadyError
: Wird ausgelöst, wenn SteelSeries Sonar nicht bereit ist.ServerNotRunningError
: Wird ausgelöst, wenn SteelSeries Sonar nicht ausgeführt wird.WebServerAddressNotFoundError
: Wird ausgelöst, wenn die Webserveradresse nicht gefunden wird.ChannelNotFoundError
: Wird ausgelöst, wenn der angegebene Kanal nicht gefunden wird.InvalidVolumeError
: Wird ausgelöst, wenn ein ungültiger Volumenwert angegeben wird.InvalidMixVolumeError
: Wird ausgelöst, wenn ein ungültiger Wert für die Mischlautstärke angegeben wird.SliderNotFoundError
: Wird ausgelöst, wenn ein unbekannter Slider-Name als streamer_slider
-Wert angegeben wird. Hier ist ein vollständiges Beispiel, das die Verwendung der steelseries sonar py Python-API demonstriert:
from steelseries_sonar_py import Sonar
from steelseries_sonar_py . exceptions import EnginePathNotFoundError
# Initialize Sonar object
try :
sonar = Sonar ( app_data_path = "C: \ path \ to \ coreProps.json" )
except EnginePathNotFoundError :
print ( "Engine not found!" )
quit ()
# Retrieve volume data
volume_data = sonar . get_volume_data ()
print ( "Volume Data:" , volume_data )
# Set volume for the 'master' channel
channel = "master"
volume = 0.8
streamer_slider = "streaming"
result = sonar . set_volume ( channel , volume , streamer_slider = streamer_slider )
print ( f"Set volume for { channel } :" , result )
# Mute the 'game' channel
channel = "game"
muted = True
streamer_slider = "monitoring"
result = sonar . mute_channel ( channel , muted , streamer_slider = streamer_slider )
print ( f"Mute { channel } :" , result )
# Retrieve chat-mix data
chatmix_data = sonar . get_chat_mix_data ()
print ( "Chatmix Data:" , chatmix_data )
# Set chat-mix value
result = sonar . set_chat_mix ( 0.5 )
print ( "Set Chatmix:" , result )
Vielen Dank an alle Mitwirkenden, die dieses Paket möglich gemacht haben – wex für das Herausfinden der API, TotalPanther317 für das Verständnis des Streamer-Modus und Cookie für Funktionen wie Chat-Mix und Streamer-Modus-Erkennung. Dankbar für ihre Bemühungen!
Diese Dokumentation spiegelt nun die neuesten Änderungen und Ergänzungen der steelseries sonar py Python-API wider.