这是我半年前使用Flutter开发的,本来有2个目的,一个是熟悉Flutter,另一个是帮助自己学习音乐尤其是乐理。其中开发的指板系统是打算让自己对吉他指板更加熟悉,种种原因搁置了,未来某个时间应该会重启。现将代码开源,为了展示自己技能和给初学者参照。
项目概述
项目目前使用了Google官方的简单状态管理作为基本架构,结合本地的SharedPreferences做存储,同时通过EventChannel进行Native调用识别音高做调音器。另外值得一提的是加上了一个完整的国际化,在指板系统里使用了matrix_gesture_detector做高级手势识别。
用到的技术和框架
Flutter相关
- 架构:官方 provider 提供的 Simple app state management
- 国际化:flutter_localizations、intl、intl_translation
- 加解密:encrypt
- 序列化:json_annotation、json_serializable
- UI组件:flutter_picker、flutter_section_table_view
- 音频播放:audioplayers
- 手势操作:matrix_gesture_detector
- 其他:shared_preferences
Native相关
- TarsosDSP-Android:用于音高识别
- AudioKit:iOS将打算用这个作为音高识别库