【Flutter/Dart】ローカルの音声ファイルを再生する

実装

音声ファイルの格納

ローカルの音声ファイルを以下に格納する

Flutter/assets/audios/<#ローカルの音声ファイル#>

assetsaudiosはデフォルトでは存在しないので未作成の場合は作る

pubspec.yaml

以下を追加

dependencies:
  flutter:
    sdk: flutter
  assets_audio_player: ^3.0.6 // 追加

main.dart

以下をそのままコピペでOK、音声ファイル名だけ自分が入れたものに変えてください

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

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Local Audio Player',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  AssetsAudioPlayer audioPlayer = AssetsAudioPlayer();

  void playLocalAudio() {
    audioPlayer.open(Audio('assets/audio/音声ファイル名')).then((_) {
      // Audio played successfully
      print('Audio played successfully');
    }).catchError((error) {
      // Error playing audio
      print('Error playing audio: $error');
    });
  }

  @override
  void dispose() {
    audioPlayer.dispose(); // Release the resources used by the audio player
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Local Audio Player'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            playLocalAudio();
          },
          child: Text('Play Audio'),
        ),
      ),
    );
  }
}