首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何切换钢琴应用的soundfont

如何切换钢琴应用的soundfont
EN

Stack Overflow用户
提问于 2021-04-21 02:41:21
回答 0查看 33关注 0票数 0

我得到了一个在Flutter中为钢琴做的项目,想要添加一个开关,这样当c点击时,画笔的soundfont就会改变。

这是原始代码

代码语言:javascript
复制
 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();
}

在设置文件中:

代码语言:javascript
复制
ListTile(
              title: Text("Guitar"),
              trailing: Switch(
                  value: state.settings.isPiano,
                  onChanged: (bool value) {
                    BlocProvider.of<SettingsBloc>(context).add(
                        ChangeSettings(state.settings..isPiano = value));
                    
                  })), 

在chanegSetting文件中:

代码语言:javascript
复制
 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中找到

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67184577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档