surround_sound 0.3.2 copy "surround_sound: ^0.3.2" to clipboard
surround_sound: ^0.3.2 copied to clipboard

A package to create surround sound effects with a frequency generator using Web Audio API

example/lib/main.dart

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:surround_sound/surround_sound.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Surround Sound Demo',
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  final _controller = SoundController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Surround Sound Example"),
      ),
      body: ListView(
        children: <Widget>[
          SoundWidget(
            soundController: _controller,
            backgroundColor: Colors.green,
          ),
          SizedBox(height: 32),
          Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              MaterialButton(
                child: Text("Play"),
                onPressed: () async {
                  await _controller.play();
                  final val = await _controller.isPlaying();
                  print('isPlaying: $val');
                },
              ),
              SizedBox(width: 24),
              MaterialButton(
                child: Text("Stop"),
                onPressed: () async {
                  await _controller.stop();
                  final val = await _controller.isPlaying();
                  print('isPlaying: $val');
                },
              ),
            ],
          ),
          SizedBox(height: 32),
          ValueListenableBuilder<AudioParam>(
            valueListenable: _controller,
            builder: (context, value, _) {
              return Column(
                children: <Widget>[
                  Text("Volume"),
                  Slider(
                    value: value.volume,
                    min: 0,
                    max: 1,
                    onChanged: (val) {
                      _controller.setVolume(val);
                    },
                  ),
                  Text("Frequency"),
                  Slider(
                    value: value.freq,
                    min: 128,
                    max: 1500,
                    onChanged: (val) {
                      _controller.setFrequency(val);
                    },
                  ),
                  SizedBox(height: 32),
                  Text(
                    "Position",
                    style: TextStyle(
                      fontWeight: FontWeight.w600,
                      fontSize: 18,
                    ),
                  ),
                  SizedBox(height: 12),
                  Text("x-axis"),
                  Slider(
                    value: value.x,
                    min: -0.2,
                    max: 0.2,
                    onChanged: (val) {
                      _controller.setPosition(val, value.y, value.z);
                    },
                  ),
                  Text("y-axis"),
                  Slider(
                    value: value.y,
                    min: -0.2,
                    max: 0.2,
                    onChanged: (val) {
                      _controller.setPosition(value.x, val, value.z);
                    },
                  ),
                  Text("z-axis"),
                  Slider(
                    value: value.z,
                    min: -0.2,
                    max: 0.2,
                    onChanged: (val) {
                      _controller.setPosition(value.x, value.y, val);
                    },
                  ),
                ],
              );
            },
          ),
        ],
      ),
    );
  }
}
7
likes
140
pub points
51%
popularity

Publisher

verified publisherfcodelabs.com

A package to create surround sound effects with a frequency generator using Web Audio API

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, webview_flutter

More

Packages that depend on surround_sound