¡Modo Streamer actualmente en desarrollo!
Este paquete de Python proporciona una interfaz conveniente para interactuar con la API de la aplicación SteelSeries Sonar.
La aplicación Sonar permite a los usuarios controlar y mostrar los volúmenes de varios canales de audio.
Para utilizar este paquete, siga estos pasos:
Instale el paquete usando pip:
pip install steelseries-sonar-py
Importe la clase Sonar
en su script o aplicación Python:
from steelseries_sonar_py import Sonar
La clase Sonar acepta dos parámetros opcionales durante la inicialización:
streamer_mode
: configúrelo en Verdadero para usar el modo transmisor (el valor predeterminado es Falso).
app_data_path
: especifique una ruta personalizada para el archivo coreProps.json de SteelSeries Engine 3.
(La ruta de instalación predeterminada es: C:\ProgramData\SteelSeries\SteelSeries Engine 3\coreProps.json
).
sonar = Sonar ( app_data_path = "C: \ path \ to \ coreProps.json" )
o
sonar = Sonar ( app_data_path = "C: \ path \ to \ coreProps.json" , streamer_mode = True )
La API steelseries sonar py thon admite el modo de transmisión, que permite a los usuarios administrar dos controles deslizantes separados: streaming
y monitoring
. Estos controles deslizantes permiten un control preciso sobre diferentes canales de audio.
Para verificar si el modo transmisor está habilitado, use:
is_streaming = sonar . is_streamer_mode ()
print ( "Is Streamer Mode:" , is_streaming )
Para habilitar o deshabilitar el modo transmisor, use:
# Enable streamer mode
sonar . set_streamer_mode ( True )
# Disable streamer mode
sonar . set_streamer_mode ( False )
Recupere información sobre la configuración de volumen actual para todos los canales:
volume_data = sonar . get_volume_data ()
print ( volume_data )
Configure el volumen para un canal específico. El parámetro channel
debe ser uno de los siguientes:
master
, game
, chatRender
, media
, aux
, chatCapture
. El parámetro volume
debe ser un valor flotante entre 0 y 1.
Además, se puede proporcionar un parámetro streamer_slider
opcional, con valores "streaming" (predeterminado) o "monitoring":
channel = "master"
volume = 0.75
streamer_slider = "streaming" # or "monitoring"
result = sonar . set_volume ( channel , volume , streamer_slider = streamer_slider )
print ( result )
Alternar el estado de silencio para un canal específico. El parámetro channel
debe ser uno de los siguientes:
master
, game
, chatRender
, media
, aux
, chatCapture
. El parámetro muted
debe ser un booleano que indique si silenciar ( True
) o reactivar ( False
) el canal.
Además, se puede proporcionar un parámetro streamer_slider
opcional, con valores "streaming" (predeterminado) o "monitoring":
channel = "game"
muted = True
streamer_slider = "monitoring"
result = sonar . mute_channel ( channel , muted , streamer_slider = streamer_slider )
print ( result )
Recuperar datos de mezcla de chat:
chatmix_data = sonar . get_chat_mix_data ()
print ( chatmix_data )
Establezca el valor de mezcla de chat entre -1 and 1
para enfocar el sonido del game
o del canal chatRender
:
result = sonar . set_chat_mix ( 0.5 )
print ( result )
El paquete introduce un conjunto de excepciones que pueden surgir durante el uso.
Es recomendable manejar estas excepciones en consecuencia en su código.
Puedes importarlos desde steelseries_sonar_py.exceptions
. Aquí está la lista de posibles excepciones:
EnginePathNotFoundError
: aparece cuando SteelSeries Engine 3 no está instalado o no está en la ubicación predeterminada.ServerNotAccessibleError
: se produce cuando no se puede acceder al servidor SteelSeries. Proporciona el código de estado HTTP.SonarNotEnabledError
: aparece cuando SteelSeries Sonar no está habilitado.ServerNotReadyError
: aparece cuando SteelSeries Sonar no está listo.ServerNotRunningError
: aparece cuando SteelSeries Sonar no se está ejecutando.WebServerAddressNotFoundError
: se produce cuando no se encuentra la dirección del servidor web.ChannelNotFoundError
: se genera cuando no se encuentra el canal especificado.InvalidVolumeError
: se genera cuando se proporciona un valor de volumen no válido.InvalidMixVolumeError
: se genera cuando se proporciona un valor de volumen de mezcla no válido.SliderNotFoundError
: surge cuando se proporciona un nombre de control deslizante desconocido como valor de streamer_slider
. A continuación se muestra un ejemplo completo que demuestra el uso de la API steelseries sonar py :
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 )
Gracias a todos los contribuyentes que hicieron posible este paquete: wex por descubrir la API, TotalPanther317 por comprender el modo de transmisión y las cookies para funciones como la combinación de chat y la detección del modo de transmisión. ¡Agradecidos por sus esfuerzos!
Esta documentación ahora refleja los últimos cambios y adiciones a la API steelseries sonar py Python.