主播模式目前正在开发中!
此 Python 包提供了一个方便的接口,用于与 SteelSeries Sonar 应用程序 API 进行交互。
声纳应用程序允许用户控制和显示各种音频通道的音量。
要使用此包,请按照下列步骤操作:
使用 pip 安装包:
pip install steelseries-sonar-py
在 Python 脚本或应用程序中导入Sonar
类:
from steelseries_sonar_py import Sonar
Sonar 类在初始化期间接受两个可选参数:
streamer_mode
:设置为 True 以使用流光模式(默认为 False)。
app_data_path
:指定 SteelSeries Engine 3 coreProps.json 文件的自定义路径
(默认为默认安装路径: C:\ProgramData\SteelSeries\SteelSeries Engine 3\coreProps.json
)。
sonar = Sonar ( app_data_path = "C: \ path \ to \ coreProps.json" )
或者
sonar = Sonar ( app_data_path = "C: \ path \ to \ coreProps.json" , streamer_mode = True )
steelseries sonar py Thon API 支持流模式,允许用户管理两个独立的滑块: streaming
和monitoring
。这些滑块可以对不同的音频通道进行微调控制。
要检查流模式是否已启用,请使用:
is_streaming = sonar . is_streamer_mode ()
print ( "Is Streamer Mode:" , is_streaming )
要启用或禁用流模式,请使用:
# Enable streamer mode
sonar . set_streamer_mode ( True )
# Disable streamer mode
sonar . set_streamer_mode ( False )
检索有关所有通道当前音量设置的信息:
volume_data = sonar . get_volume_data ()
print ( volume_data )
设置特定频道的音量。 channel
参数应为以下之一:
master
、 game
、 chatRender
、 media
、 aux
、 chatCapture
。 volume
参数应该是 0 到 1 之间的浮点数。
此外,还可以提供可选的streamer_slider
参数,其值为“streaming”(默认)或“monitoring”:
channel = "master"
volume = 0.75
streamer_slider = "streaming" # or "monitoring"
result = sonar . set_volume ( channel , volume , streamer_slider = streamer_slider )
print ( result )
切换特定通道的静音状态。 channel
参数应为以下之一:
master
、 game
、 chatRender
、 media
、 aux
、 chatCapture
。 muted
参数应该是一个布尔值,指示是否将通道静音 ( True
) 还是取消静音 ( False
)。
此外,还可以提供可选的streamer_slider
参数,其值为“streaming”(默认)或“monitoring”:
channel = "game"
muted = True
streamer_slider = "monitoring"
result = sonar . mute_channel ( channel , muted , streamer_slider = streamer_slider )
print ( result )
检索聊天组合数据:
chatmix_data = sonar . get_chat_mix_data ()
print ( chatmix_data )
将 chat-mix 值设置在-1 and 1
之间,以集中来自game
或chatRender
通道的声音:
result = sonar . set_chat_mix ( 0.5 )
print ( result )
该包引入了一组在使用过程中可能引发的异常。
建议在代码中相应地处理这些异常。
您可以从steelseries_sonar_py.exceptions
导入它们。以下是潜在例外的列表:
EnginePathNotFoundError
:当未安装 SteelSeries Engine 3 或不在默认位置时引发。ServerNotAccessibleError
:当无法访问 SteelSeries 服务器时引发。提供 HTTP 状态代码。SonarNotEnabledError
:未启用 SteelSeries Sonar 时引发。ServerNotReadyError
:当 SteelSeries Sonar 未就绪时引发。ServerNotRunningError
:SteelSeries Sonar 未运行时引发。WebServerAddressNotFoundError
:未找到 Web 服务器地址时引发。ChannelNotFoundError
:未找到指定通道时引发。InvalidVolumeError
:提供无效的卷值时引发。InvalidMixVolumeError
:提供无效的混合音量值时引发。SliderNotFoundError
:当提供未知滑块名称作为streamer_slider
值时引发。 下面是一个完整的示例,演示了steelseries sonar py thon API 的用法:
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 )
感谢所有使这个包成为可能的贡献者 - wex 找出了 API,TotalPanther317 用于理解流媒体模式,cookie 用于聊天混合和流媒体模式检测等功能。感谢他们的努力!
本文档现在反映了steelseries sonar py Thon API 的最新更改和添加。