简介
这次其实是经历一些面试之后决定要从windows的训练下脱离出来,去linux下试试手了。但是对linux下的编程工具只知道VI,没办法,可视化界面我想现在暂时是做不出了。还有,我coding都喜欢听着歌曲,这样不容易被外界干扰。于是乎,就打算做一个Terminal Music Player。
困难
要说困难,最大的困难就是从windows用习惯了的Visual Studio下脱离出来,没有代码提示,没有可视化的断点可用,linux下的多线程、函数库、api什么的多少都有出入。
- 操作系统的不熟悉;
- 从来没做过音频应用;
- 编程工具不熟悉;
- 如何在终端画出自己的可视画界面(对自己至少友好些);
- ……;
具体功能
1.音乐播放
2.音乐暂停
3.随机播放
4.顺序播放
5.重复播放
6.音量调整
7.界面刷新
8.切歌
9.选歌
10.记事本/命令
都是用按键或组合按键来控制的,有界面区分。
快捷键
自制的终端播放器,直接运行music即可,音乐文件放在“musicLoad”文件夹下。
快捷键:
(全局)
Alt + R/r 刷新界面
Alt + 1 歌曲列表界面
Alt + 2 歌曲名界面
Alt + 3 笔记本界面
Alt + N/n 切换歌曲
Alt + 0 退出
歌曲列表界面下:
M/r 切换模式
←→ 调整音量
↑↓ 选中歌曲
Enter 播放歌曲
P/p 暂停播放
歌曲名界面下:
←→ 下一首/上一首
笔记本界面:
clear 刷新
展示
储备技术
做了有6天了吧,整个过程中我还是遇到了不少困难的,上面所述的只是大的问题,一些小问题,譬如“工作区域”的输入和显示,来模仿打字回显,还是比较困难的。想必写个记事本也是要管住这些问题。
- c++
- linux下的编程
- FMOD音频引擎(学习一下文档,使用还是很简单的,一开始是学习ALSA,实在是难,光是API就把我搞头大);
- ncurses库画图
收获
总算是从windows下转linux写了一个有趣、实用又能装X的东西了。linux下的编程也熟悉了,对于工具的实用熟练多了,oop的好处也享受到了。
这对我来说是一次非常好学习。继续努力。
不足
linux调试程序gdb不能很好的运用,值得好好学习。