如何切换以更改钢琴应用程序的声音字体

问题描述

我有一个Flutter 制作的钢琴项目,想添加一个开关,以便单击时会更改油漆的声音字体。

这是原始代码

 class PianoSection extends StatefulWidget {
  PianoSection({
  Key key,this.controller,this.disableScroll = false,this.showLabels = true,this.labelsOnlyOctaves = false,this.Feedback = false,this.keyWidth = _kDefaultKeyWidth,this.soundFontPath,this.isPiano,}) : super(key: key) 

{
  if (isPiano == false) {
   sound_FontPath = 'assets/sounds/guitar Acoustic.sf2';} 
  else {
    sound_FontPath = 'assets/sounds/Piano.sf2'; 
  }
}



final ScrollController controller;
final bool disableScroll,labelsOnlyOctaves,showLabels,Feedback,isPiano;
final double keyWidth;
final String soundFontPath;

@override
 _PianoSectionState createState() => _PianoSectionState();
}

在设置文件中:

ListTile(
              title: Text("guitar"),trailing: Switch(
                  value: state.settings.isPiano,onChanged: (bool value) {
                    BlocProvider.of<SettingsBloc>(context).add(
                        ChangeSettings(state.settings..isPiano = value));
                    
                  })),

在 chanegSetting 文件中:

 import 'package:Meta/Meta.dart';

 import 'settings.dart';

 @immutable
abstract class SettingsEvent {}

class ChangeSettings extends SettingsEvent {
  ChangeSettings(this.settings);

 final Settings settings;
 }

class CheckSettings extends SettingsEvent {}

你能告诉我如何添加这个功能吗? 添加功能之前的原始代码可以在here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)