/myler2

多功能命令行音乐播放器

Primary LanguageC

myler

多功能命令行音乐播放器

一 项目介绍

命令行音乐播放器:这是一款基于命令行的,可连网的音乐播放器,它有以下功能:
1. 音乐播放功能:
命令行参数指定音乐文件,便可播放。支持MP3格式的音频。
2. 歌词显示功能:
如果存在同名的lrc格式的歌词文件,会在主界面滚动显示当前歌词。
3. 歌单管理功能:
由命令行参数指定的所有歌曲会被建立一个“临时歌单”;
LocalMusic文件夹里面的所有歌曲会被自动添加到“本地歌单”;

4. 对歌单/歌曲的基本控制:
支持上一曲,下一曲,暂停/继续,快进/快退,音量调节,重新播放;
支持顺序播放,列表循环,随机播放,单曲循环;
支持播放完成后自动退出;

5. 网络功能:
支持在线搜索歌曲,下载歌曲;
支持酷狗音乐,QQ音乐,网易云音乐三大搜索引擎,能够下载大部分付费音乐以及歌词文件;
支持歌曲名搜索,歌单搜索,歌词搜索;

6. 界面管理:
界面上显示软件名,歌单列表,歌词,播放进度条,搜索框等;
支持隐藏一些部件;
支持固定位置的错误消息显示;
支持彩色显示,也可以取消颜色,采用终端默认字符颜色;
支持自定义终端编码,支持GBK编码和UTF-8编码,防止终端乱码。>

7. 按键支持:
可以通过方向键选择歌单中的歌曲,通过各种按键控制播放器。
8. 命令行参数支持:
命令行参数可以控制播放器的各种播放行为,用于支持自动管理。

二 项目特点

这是一个用于C语言练手的项目,所以,在实现这个项目的时候,我对自己的要求是:
1. 用标准C语言(C99)实现它
2. 不调用第三方库,仅用操作系统提供的底层API和C标准库,自己造轮子,完成这个项目
3. 跨平台,支持Windows(Win7, Win10) Linux(Ubuntu 16.04+)
4. 不依赖GUI,基于命令行/终端

三 项目编译

1. Linux下:
进入终端,在源码顶层目录下执行: make linux
(系统里需要有GNU工具链,至少包含gcc和make))
2.Windows下:
方案一:进入cmd(或者Power Shell),在源码顶层目录下执行: make windows
(系统里需要有GNU工具链,如Mingw,Cygwin或者msys2,至少包含gcc和make,且在PATH目录下,如果是mingw,命令可能是:mingw-make windows))
方案二:进入cmd(或者Power Shell),在源码顶层目录下执行: gcc windows/*.c *.c -o myler.exe -I. -Wall -std=c99 -lwinmm -lws2_32
(系统里需要有gcc,且在PATH目录下)
方案三:用C/C++ IDE(如VC6.0 VS2017 dev-c++ codeblocks等)创建一个C工程,将顶层目录和windows目录的的所有C文件和头文件添加到工程中,将顶层目录添加到include路径中,然后编译。

更多信息

参见:http://39.108.3.243/mxb/myler/