siri_wave 1.0.2 copy "siri_wave: ^1.0.2" to clipboard
siri_wave: ^1.0.2 copied to clipboard

A Flutter package that lets you create visually stunning Siri-style waveforms.

ci Package: siri_wave Publisher: halildurmus.dev Language: Dart Platform: Flutter License: MIT

Create visually stunning waveforms similar to those found in Siri. It was inspired from the siriwave library.

Demo #

Check out the live demo here.

iOS 7 style waveform #

iOS 7 style waveform

iOS 9 style waveform #

iOS 9 style waveform

Usage #

Simply create a SiriWave widget:

import 'package:siri_wave/siri_wave.dart';

class MyWidget extends StatelessWidget {
  Widget build(BuildContext context) {
    return SiriWave();
  }
}

To customize the amplitude, frequency, speed, and color properties of the waveform, create an instance of SiriWaveController and pass it to the SiriWave widget as shown in the code snippet below:

import 'package:siri_wave/siri_wave.dart';

class MyWidget extends StatelessWidget {
  Widget build(BuildContext context) {
    // You can customize the default values of the waveform while creating the
    // controller:
    //  final controller = SiriWaveController(
    //    amplitude: 0.5,
    //    color: Colors.red,
    //    frequency: 4,
    //    speed: 0.15,
    //  );
    final controller = SiriWaveController();
    return SiriWave(controller: controller);
  }
}

Afterwards, you can invoke any desired method from the controller to modify the waveform:

controller.setAmplitude(0.8);
controller.setSpeed(0.1);

// These are only available in the iOS 7 style waveform.
controller.setColor(Colors.yellow);
controller.setFrequency(4);

For a complete sample application, please checkout the example.

SiriWave #

Parameter Type Description Default
controller SiriWaveController The controller of the SiriWave. SiriWaveController()
options SiriWaveOptions The configuration of the SiriWave. SiriWaveOptions()
style SiriWaveStyle The wave style of the SiriWave. SiriWaveStyle.ios_9

SiriWaveController #

Parameter Type Description Default
amplitude double The amplitude of the waveform. 1.0
color Color The color of the iOS 7 style waveform. Colors.white
frequency int The frequency of the iOS 7 style waveform. 6
speed double The speed of the waveform. 0.2
Function Description
setAmplitude(double value) Sets the amplitude of the waveform. The value must be in the [0,1] range.
setColor(Color color) Sets the color of the iOS 7 style waveform.
setFrequency(double value) Sets the frequency of the iOS 7 style waveform. The value must be in the [-20,20] range.
setSpeed(double value) Sets the speed of the waveform. The value must be in the [0,1] range.

SiriWaveOptions #

Parameter Type Description Default
height double The height of the waveform. 180
showSupportBar bool Whether to show support bar on iOS 9 style waveform. true
width double The width of the waveform. 360

🤝 Contributing #

Contributions, issues and feature requests are welcome. Feel free to check the issue tracker if you want to contribute.

156
likes
150
points
25.1k
downloads
screenshot

Documentation

API reference

Publisher

verified publisherhalildurmus.dev

Weekly Downloads

A Flutter package that lets you create visually stunning Siri-style waveforms.

Repository (GitHub)
View/report issues
Contributing

Topics

#wave #waveform #siri

License

MIT (license)

Dependencies

flutter

More

Packages that depend on siri_wave