音频在 Xylophone Flutter App 中不起作用

Posted

技术标签:

【中文标题】音频在 Xylophone Flutter App 中不起作用【英文标题】:Audio is not working in Xylophone Flutter App 【发布时间】:2021-12-23 17:25:11 【问题描述】:

我正在使用 Flutter 构建一个 Xylophone 应用程序。在我的应用程序中,单击按钮后没有播放音频。我应该如何解决这个问题? 我附上了下面的 main.dart 代码和 pubsec.yaml 代码以供参考。 请建议我应该怎么做才能解决这个问题。我正在使用 android Studio 作为编辑器。 预期结果:当我们单击应用程序上的任何按钮时,它应该播放音频。 当我在我的应用程序中单击任何 Xylophone 按钮时,图形工作正常,但没有播放音频。

main.dart 代码

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

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

class XylophoneApp extends StatelessWidget 
  void playSound(int soundNumber) 
    final player = AudioCache();
    player.play('note$soundNumber.wav');
  

  Expanded buildKey(Color color, int soundNumber) 
    return Expanded(
      child: FlatButton(
        color: color,
        onPressed: () 
          playSound(soundNumber);
        ,
      ),
    );
  

  @override
  Widget build(BuildContext context) 
    return MaterialApp(
      home: Scaffold(
        backgroundColor: Colors.black,
        body: SafeArea(
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.stretch,
            children: <Widget>[
              buildKey(color: Colors.red, soundNumber: 1),
              buildKey(color: Colors.orange, soundNumber: 2),
              buildKey(color: Colors.yellow, soundNumber: 3),
              buildKey(color: Colors.green, soundNumber: 4),
              buildKey(color: Colors.teal, soundNumber: 5),
              buildKey(color: Colors.blue, soundNumber: 6),
              buildKey(color: Colors.purple, soundNumber: 7),
            ],
          ),
        ),
      ),
    );
  



pubsec.yaml 代码

name: xylophone
description: A new Flutter application.

version: 1.0.0+1

environment:
  sdk: ">=2.0.0-dev.68.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.2
  audioplayers: ^0.20.1

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:

  uses-material-design: true

  assets:
    - assets/note1.wav
    - assets/note2.wav
    - assets/note3.wav
    - assets/note4.wav
    - assets/note5.wav
    - assets/note6.wav
    - assets/note7.wav


【问题讨论】:

【参考方案1】:

它工作! 经过一番研究,我在 Github 上找到了答案。 因此,要解决此问题,您需要更改 build.gradle 中的 ext.kotlin_version。 要更改它,您需要右键单击项目树中的 android 文件夹 > 单击 Flutter > 单击在 Android Studio 中打开 Android 模块

现在您可以在同一个窗口或新窗口中打开它

    点击项目树中的 Gradle 脚本

    打开 build.gradle(第一个文件)

    最后在我的例子中将 ext.kotlin_version 参数更改为最新版本 1.5.30 并同步 gradle 项目,你会很高兴的。

【讨论】:

以上是关于音频在 Xylophone Flutter App 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter 中实现音频流应用和安全存储

Flutter音频播放插件just_audio入门指南

Flutter音频播放插件just_audio入门指南

如何从函数中更改 Flutter 中高架按钮的背景颜色?

线程 1:“-[Xylophone.ViewController buttonClicked:]:无法识别的选择器发送到实例 0x7ff83a6074e0”

如何获取音频文件的长度而不在 Flutter/Dart 中播放