You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter audioplayers插件配置正确却无法播放资源音频问题

解决Flutter audioplayers点击列表项无声音的问题

核心问题排查与修复

  1. pubspec.yaml 配置错误

    • 依赖声明多了冗余句号:原代码audioplayers:^6.1.0.要改为audioplayers: ^6.1.0(版本号前需加空格)
    • assets路径拼写错误:assest/voices/Bonjour.mp3里的assest是笔误,正确应为assets/voices/Bonjour.mp3
  2. 音频文件路径匹配错误
    你在pubspec里配置的是完整路径assets/voices/Bonjour.mp3,但播放时只用了Bonjour.mp3,导致无法定位到音频文件,必须传入完整的相对路径(注意AssetSource无需带开头的assets/,框架会自动拼接)。

  3. 建议添加错误捕获
    加入try-catch可以快速排查播放失败的具体原因,比如文件不存在、权限问题等。


修复后的完整代码

pubspec.yaml 关键配置

dependencies:
  flutter:
    sdk: flutter
  audioplayers: ^6.1.0 # 修正后的依赖声明

flutter:
  assets:
    - assets/voices/Bonjour.mp3 # 修正拼写后的路径

Dart 代码

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

class Introduction extends StatefulWidget {
  @override
  _IntroductionState createState() => _IntroductionState();
}

class _IntroductionState extends State<Introduction> {
  final AudioPlayer audioPlayer = AudioPlayer();

  List<Map<String, String>> phrases = [
    {'french': 'Comment vous appelez-vous ?', 'english': 'What is your name?'},
    // 更多短语...
  ];

  void playAudio(String phrase) async {
    if (phrase == 'Comment vous appelez-vous ?') {
      try {
        // 使用正确的相对路径
        await audioPlayer.play(const AssetSource('voices/Bonjour.mp3'));
      } catch (e) {
        debugPrint('播放失败: $e'); // 打印错误信息排查问题
      }
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("Introduction Phrases")),
      body: ListView.builder(
        itemCount: phrases.length,
        itemBuilder: (context, index) {
          final phrase = phrases[index];
          return ListTile(
            title: Text(phrase['french']!),
            onTap: () => playAudio(phrase['french']!),
          );
        },
      ),
    );
  }
}

额外检查项

  • 确认assets/voices/Bonjour.mp3文件确实存在于项目对应目录中,文件名大小写要和配置一致(区分大小写)
  • 物理设备测试时确保媒体音量未静音
  • 若仍有问题,可尝试调用audioPlayer.setVolume(1.0)强制设置音量

内容的提问来源于stack exchange,提问作者HASHMAT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 15:07:19