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.

84
likes
140
pub points
91%
popularity
screenshot

Publisher

verified publisherhalildurmus.dev

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

Repository (GitHub)
View/report issues
Contributing

Topics

#wave #waveform #siri

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on siri_wave