Modo Streamer atualmente em desenvolvimento!
Este pacote Python fornece uma interface conveniente para interagir com a API do aplicativo SteelSeries Sonar.
O aplicativo Sonar permite aos usuários controlar e exibir volumes de vários canais de áudio.
Para usar este pacote, siga estas etapas:
Instale o pacote usando pip:
pip install steelseries-sonar-py
Importe a classe Sonar
em seu script ou aplicativo Python:
from steelseries_sonar_py import Sonar
A classe Sonar aceita dois parâmetros opcionais durante a inicialização:
streamer_mode
: Defina como True para usar o modo streamer (o padrão é False).
app_data_path
: Especifique um caminho personalizado para o arquivo coreProps.json do SteelSeries Engine 3
(o padrão é o caminho de instalação padrão: C:\ProgramData\SteelSeries\SteelSeries Engine 3\coreProps.json
).
sonar = Sonar ( app_data_path = "C: \ path \ to \ coreProps.json" )
ou
sonar = Sonar ( app_data_path = "C: \ path \ to \ coreProps.json" , streamer_mode = True )
A API steelseries sonar py thon suporta o modo streamer, que permite aos usuários gerenciar dois controles deslizantes separados: streaming
e monitoring
. Esses controles deslizantes permitem um controle preciso sobre diferentes canais de áudio.
Para verificar se o modo streamer está ativado, use:
is_streaming = sonar . is_streamer_mode ()
print ( "Is Streamer Mode:" , is_streaming )
Para ativar ou desativar o modo streamer, use:
# Enable streamer mode
sonar . set_streamer_mode ( True )
# Disable streamer mode
sonar . set_streamer_mode ( False )
Recuperar informações sobre as configurações de volume atuais para todos os canais:
volume_data = sonar . get_volume_data ()
print ( volume_data )
Defina o volume para um canal específico. O parâmetro channel
deve ser um dos seguintes:
master
, game
, chatRender
, media
, aux
, chatCapture
. O parâmetro volume
deve ser um valor flutuante entre 0 e 1.
Além disso, um parâmetro streamer_slider
opcional pode ser fornecido, com valores "streaming" (padrão) ou "monitoring":
channel = "master"
volume = 0.75
streamer_slider = "streaming" # or "monitoring"
result = sonar . set_volume ( channel , volume , streamer_slider = streamer_slider )
print ( result )
Alternar o status mudo para um canal específico. O parâmetro channel
deve ser um dos seguintes:
master
, game
, chatRender
, media
, aux
, chatCapture
. O parâmetro muted
deve ser um booleano que indica se o canal deve ser silenciado ( True
) ou reativado ( False
).
Além disso, um parâmetro opcional streamer_slider
pode ser fornecido, com valores "streaming" (padrão) ou "monitoring":
channel = "game"
muted = True
streamer_slider = "monitoring"
result = sonar . mute_channel ( channel , muted , streamer_slider = streamer_slider )
print ( result )
Recuperar dados do mix de bate-papo:
chatmix_data = sonar . get_chat_mix_data ()
print ( chatmix_data )
Defina o valor chat-mix entre -1 and 1
para focar o som do game
ou canal chatRender
:
result = sonar . set_chat_mix ( 0.5 )
print ( result )
O pacote introduz um conjunto de exceções que podem ser levantadas durante o uso.
É aconselhável tratar essas exceções adequadamente em seu código.
Você pode importá-los de steelseries_sonar_py.exceptions
. Aqui está a lista de possíveis exceções:
EnginePathNotFoundError
: gerado quando o SteelSeries Engine 3 não está instalado ou não está no local padrão.ServerNotAccessibleError
: gerado quando o servidor SteelSeries não está acessível. Fornece o código de status HTTP.SonarNotEnabledError
: gerado quando o SteelSeries Sonar não está habilitado.ServerNotReadyError
: gerado quando o SteelSeries Sonar não está pronto.ServerNotRunningError
: gerado quando o SteelSeries Sonar não está em execução.WebServerAddressNotFoundError
: gerado quando o endereço do servidor web não é encontrado.ChannelNotFoundError
: gerado quando o canal especificado não é encontrado.InvalidVolumeError
: gerado quando um valor de volume inválido é fornecido.InvalidMixVolumeError
: gerado quando um valor de volume de mixagem inválido é fornecido.SliderNotFoundError
: gerado quando um nome de controle deslizante desconhecido é fornecido como valor streamer_slider
. Aqui está um exemplo completo que demonstra o uso da API steelseries sonar py thon:
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 )
Obrigado a todos os colaboradores que tornaram este pacote possível - wex por descobrir a API, TotalPanther317 por entender o modo streamer e cookie para recursos como mix de bate-papo e detecção do modo streamer. Grato por seus esforços!
Esta documentação agora reflete as últimas alterações e adições à API steelseries sonar py thon.