无法在Flutter中加载.mp3

hof1towb  于 2023-03-03  发布在  Flutter
关注(0)|答案(1)|浏览(152)

我想将音乐添加到我的项目中,我添加了一个.mp3文件,但系统显示找不到资源文件。
这是密码:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Music Player',
      home: MusicPlayer(),
    );
  }
}

class MusicPlayer extends StatefulWidget {
  @override
  \_MusicPlayerState createState() =\>  \_MusicPlayerState();
}

class \_MusicPlayerState extends State \<MusicPlayer\> {
  AudioCache player = AudioCache();
  String musicPath = "assets/audios/Meditation.mp3";

  @override
  void initState() {
    super.initState();
    player.load(musicPath);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Music Player'),
      ),
      body: Center(
        child: ElevatedButton(
          child: Text('Play Music'),
          onPressed: () {
            player.loadAsFile(musicPath);
          },
        ),
      ),
    );
  }
}

我尝试了所有的方法...仍然得到同样的错误。我该如何修复这个问题?
这是错误:

这是pubspec.yaml文件:

ulydmbyx

ulydmbyx1#

如果您没有在pubspec.yaml中设置资产位置,则在just_audio中可能会发生这种情况。

flutter: 
      assets: 
        - audio/

这会告诉Flutter您在项目的根目录中有一个音频文件夹,您可以在其中保存音频资源。
执行此操作后,您应该能够设置资源并按如下方式播放它:

await player.setAsset('audio/cow.mp3'); 
player.play();

如果您在路径中拼写错误,也可能发生错误,但我假设您已经检查过了。

相关问题