audio_box 0.0.1 copy "audio_box: ^0.0.1" to clipboard
audio_box: ^0.0.1 copied to clipboard

A flexible audio playback manager for Flutter.

example/lib/main.dart

import 'package:audio_box/audio_box.dart';
import 'package:flutter/material.dart';

final sourceMap = {
  'bgm_1': AssetAudioSource('assets/bgm/bgm_1_fixed.mp3'),
  'bgm_2': AssetAudioSource('assets/bgm/bgm_2.mp3'),
  'se_click': AssetAudioSource('assets/se/se.mp3'),
};

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  final audioKit = AudioKit();

  // オーディオソースの登録(Asset 使用)
  await audioKit.registerAll(sourceMap);

  runApp(MyApp(audioKit: audioKit));
}

class MyApp extends StatelessWidget {
  final AudioKit audioKit;

  const MyApp({super.key, required this.audioKit});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'audio_box Example',
      home: AudioDemoScreen(audioKit: audioKit),
    );
  }
}

class AudioDemoScreen extends StatelessWidget {
  final AudioKit audioKit;

  const AudioDemoScreen({super.key, required this.audioKit});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('audio_box Example')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () async {
                await audioKit.play(key: 'se_click');
              },
              child: const Text('Play SE'),
            ),
            const SizedBox(height: 16),
            ElevatedButton(
              onPressed: () async {
                await audioKit.play(key: 'bgm_1', channel: 'bgm', loop: true);
              },
              child: const Text('Play BGM1'),
            ),
            const SizedBox(height: 16),
            ElevatedButton(
              onPressed: () async {
                await audioKit.play(
                  key: 'bgm_2',
                  channel: 'bgm',
                  loop: true,
                  // loopStartPosition: Duration(milliseconds: 666),
                  loopStartPosition: Duration(seconds: 3),
                );
              },
              child: const Text('Play BGM2'),
            ),
            const SizedBox(height: 16),
            ElevatedButton(
              onPressed: () async {
                await audioKit.stop(channel: 'bgm');
              },
              child: const Text('Stop BGM'),
            ),
          ],
        ),
      ),
    );
  }
}
0
likes
0
points
86
downloads

Publisher

unverified uploader

Weekly Downloads

A flexible audio playback manager for Flutter.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, flutter_hooks, http, just_audio, meta

More

Packages that depend on audio_box