Kako, boa noite.
Obrigado pelo retorno.
Vou colocar o código aqui, espero que seja possível entender.
Qualquer coisa eu mando mais ou de outra forma.
Eu entendo que me adiantei em relação ao que aprendi, minha intenção é conseguir realizar o ciclo completo.
Quanto ao som, emite sons de animais.
main.dart:
import 'package:ca/screen/inicial.dart';
import 'package:flutter/material.dart';
void main() {
  runApp(const MyApp());
}
class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);
  @override
  State createState() => _MyAppState();
}
class _MyAppState extends State {
  // This widget is the root of your application.
  @override
  bool opacidade = true;
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Inicial(),
    );
  }
}
não coloquei a inicial.dart porque não caberia devido ao limite
animais.dart:
import 'package:audioplayers/audioplayers.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
void main() {
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Comunicação Alternativa AM',
      theme: ThemeData(
        primarySwatch: Colors.amber,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: Animais(),
    );
  }
}
class Animais extends StatefulWidget {
  const Animais({Key? key}) : super(key: key);
  @override
  State createState() => _AnimaisState();
}
class _AnimaisState extends State {
  final AudioCache _audioCache = AudioCache(
    prefix: 'audio/',
    fixedPlayer: AudioPlayer()..setReleaseMode(ReleaseMode.STOP),
  );
  @override
  Widget build(BuildContext context) {
return Scaffold(
  appBar: AppBar(
    title: const Text('Animais'),
    backgroundColor: Colors.amber,
  ),
  body: Center(
    child: Container(
      decoration: BoxDecoration(
        border: Border.all(width: 4, color: Colors.amberAccent),
      ),
      child: Center(
        child: Container(
          height: double.infinity,
          width: double.infinity,
          decoration: BoxDecoration(
              gradient: LinearGradient(
                begin: Alignment.topRight,
                end: Alignment.bottomLeft,
                colors: [
                  Colors.limeAccent,
                  Colors.amber,
                ],
              )
          ),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children:[
              MontaLinha(primeiro: 'gato', segundo: 'cachorro', terceiro: 'coruja'),
              MontaLinha(primeiro: 'vaca', segundo: 'cavalo', terceiro: 'ovelha'),
              MontaLinha(primeiro: 'galo', segundo: 'galinha', terceiro: 'pintinho'),
              MontaLinha(primeiro: 'leao', segundo: 'tigre', terceiro: 'elefante'),
              MontaLinha(primeiro: 'passaro', segundo: 'aguia', terceiro: 'tucano'),
            ],
          ),
        ),
      ),
    ),
  ),
);
  }
}
class MontaLinha extends StatelessWidget {
  final String primeiro;
  final String segundo;
  final String terceiro;
  const MontaLinha({
    Key? key, required this.primeiro, required this.segundo, required this.terceiro,
  }) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Row(
      mainAxisAlignment: MainAxisAlignment.spaceBetween,
      children: [
        buildColumn(primeiro),
        buildColumn(segundo),
        buildColumn(terceiro),
      ],
    );
  }
  Column buildColumn(final produto) {
    return Column(
        children: [
          new Image.asset(
            'images/animais/' + produto + '.png',
            width: 60.0,
            height: 60.0,
            fit: BoxFit.cover,
          ),
          ElevatedButton(
            style: ElevatedButton.styleFrom(primary: Colors.amber),
            child: Text(produto.toUpperCase()),
            onPressed: () {
              playSound('animais/' + produto + '-texto.mp3');
              playSound('animais/' + produto + '.mp3');
            },
          ),
        ],
      );
  }
}
void playSound(String audio){
  final AudioCache _audioCache = AudioCache(
    prefix: 'audio/',
    fixedPlayer: AudioPlayer()..setReleaseMode(ReleaseMode.STOP),
  );
  _audioCache.play(audio);
}
referencia para imagens e sons no pubspec.yaml:
 assets:
- assets/images/
- assets/audio/