Siticone Audio Control
The SiticoneAudio control is a modern, interactive volume management component designed for rich media applications.
It features animated sound waves, particle effects, multiple themes, and built-in mute functionality.
With support for mouse wheel adjustment and visual feedback, it provides a premium user experience for audio interfaces.
Core Features
Fundamental properties for managing volume state and themes.
| Property | Type | Description & Usage Example |
|---|---|---|
Volume |
int | audio.Volume = 75; The current volume level (0-100). Changing this triggers animation and particles. |
IsMuted |
bool | audio.IsMuted = true; Toggles the mute state. When muted, an "X" is displayed instead of waves. |
Theme |
AudioControlTheme |
audio.Theme = AudioControlTheme.Dark;
Sets a predefined visual style: Modern, Light, Dark, Colorful, Minimal, or Custom.
|
Appearance & Styling
Customize the icon, colors, and dimensions to match your application's design.
| Property | Type | Description & Usage Example |
|---|---|---|
IconSize |
int | audio.IconSize = 32; The size of the central speaker icon in pixels. |
StrokeWidth |
float | audio.StrokeWidth = 2.5f; Thickness of the lines used for the speaker and waves. |
IconColor |
Color | audio.IconColor = Color.White; The primary color of the speaker icon. |
HoverColor |
Color | audio.HoverColor = Color.Cyan; Color used for hover effects and particles. |
MuteIconColor |
Color | audio.MuteIconColor = Color.Red; Color of the "X" symbol when muted. |
Wave Customization
Fine-tune the animated sound waves that radiate from the speaker. These waves react dynamically to volume changes.
| Property | Type | Description & Usage Example |
|---|---|---|
WaveCount |
int | audio.WaveCount = 5; The number of wave arcs displayed. |
WaveSpacing |
float | audio.WaveSpacing = 0.15f; The distance between concentric waves (as a percentage). |
BaseArcSpan |
float | audio.BaseArcSpan = 90f; The sweep angle (height) of the wave arcs in degrees. |
WaveColors |
Color[] | audio.WaveColors = new [] { Color.Red, Color.Blue }; An array of colors for gradient or multi-colored waves. |
Visual Effects
Enhance user interaction with dynamic particles, shadows, and ripples.
| Property | Type | Description & Usage Example |
|---|---|---|
EnableParticles |
bool | audio.EnableParticles = true; Emits small particles when volume changes or on click. |
EnableRippleEffect |
bool | audio.EnableRippleEffect = true; Shows a ripple animation on mouse clicks. |
EnableHoverAnimation |
bool | audio.EnableHoverAnimation = true; Enables scaling and glow effects when the mouse hovers over the control. |
ShowVolumeIndicator |
bool | audio.ShowVolumeIndicator = true; Displays a vertical volume bar next to the icon on hover. |
Events
// 1. Volume Changed
audioControl.VolumeChanged += (s, e) =>
{
Console.WriteLine($"Volume set to: {e.Volume}%");
SystemAudio.SetMasterVolume(e.Volume);
};
// 2. Mute Changed
audioControl.MuteChanged += (s, e) =>
{
if (e.IsMuted)
Console.WriteLine("Audio Muted");
else
Console.WriteLine("Audio Unmuted");
};
Detailed Usage Examples
Example 1: Basic Volume Control
A standard setup using the "Modern" theme with mouse wheel support.
private SiticoneAudio CreateVolumeControl()
{
var audio = new SiticoneAudio
{
Theme = AudioControlTheme.Modern,
Volume = 50,
Location = new Point(20, 20),
ShowVolumeTooltip = true
};
// Sync with system volume
audio.VolumeChanged += (s, e) =>
{
MediaManager.SetVolume(e.Volume);
};
return audio;
}
Example 2: Custom "Neon" Visualizer
Configures a colorful, custom-styled audio control with a neon aesthetic.
private void ApplyNeonStyle(SiticoneAudio audio)
{
audio.Theme = AudioControlTheme.Custom;
audio.IconColor = Color.White;
audio.HoverColor = Color.Magenta;
// Gradient Waves
audio.WaveColors = new Color[]
{
Color.Cyan,
Color.DeepSkyBlue,
Color.DodgerBlue,
Color.Blue
};
audio.WaveCount = 6;
audio.StrokeWidth = 2.5f;
audio.EnableParticles = true;
audio.EnableGlow = true;
}
Example 3: Minimalist Mute Button
A simplified control optimized for toolbars where space is limited.
private SiticoneAudio CreateMuteButton()
{
return new SiticoneAudio
{
Theme = AudioControlTheme.Minimal,
IconSize = 16,
ShowVolumeIndicator = false,
EnableParticles = false,
EnableRippleEffect = false,
Size = new Size(24, 24)
};
}