android vs代码中的flutter问题(无法加载资产)

ua4mk5z4  于 2022-11-20  发布在  Android
关注(0)|答案(3)|浏览(289)

我有一个问题,在flutter对vs代码我导入的音频播放器这里是我的pubspec.yaml

这是我的主页,我在这里调用音频播放器

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

class HomeScreen extends StatefulWidget {
  const HomeScreen({super.key});

  @override
  State<HomeScreen> createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.brown,
        title: Text('anghami'),
      ),
      body: Container(
        color: Colors.brown[200],
        child: Padding(
          padding: const EdgeInsets.all(8.0),
          child: Column(
            children: [
              Card(
                child: ListTile(
                  title: Text(
                    "benab",
                    style: TextStyle(color: Colors.red),
                  ),
                  //tileColor: Colors.red,
                  leading: Icon(Icons.music_note),
                  iconColor: Colors.red,
                  onTap: () async {
                    final player = AudioPlayer();
                    await player
                        .setSource(AssetSource('assets/music/music1.mp3'));
                  },
                ),
              ),
              
            ],
          ),
        ),
      ),
    );
  }
}

每当我试图播放音乐从手机我得到这个错误

ps:vs代码在加载图像或使用其他类型的资产时没有问题。
我尝试过使用Audiocache,但它不起作用,尤其是他们在上一版本^1.1.1中删除了它,[在此处输入图像描述][https://i.stack.imgur.com/u9kKR.png]

piok6c0g

piok6c0g1#

看起来你试图在/assets/assets/music/文件夹中加载一个资源。我的猜测是,你想在/assets/music/文件夹中加载一个资源,这是一个简单的错误。
要解决此问题,请执行以下操作:

// Replace the relative path of your asset below:
// assets/music/music1.mp3 -> music/music1.mp3
await player.setSource(AssetSource('music/music1.mp3'));
mftmpeh8

mftmpeh82#

只需从音频源中移除资源,如下所示:

await player.setSource(AssetSource('music/music1.mp3'));
pqwbnv8z

pqwbnv8z3#

首先,在项目的根目录下创建一个assets目录,然后创建music文件夹。
试着玩

await player.setSource(AssetSource('music/music1.mp3'));

相关问题