一、音乐管理库
(1)音乐库功能:查看、添加、删除里面的音乐曲目
(2)播放音乐
(3)支持MP3和MAV,并且能随时扩展支持更多的音乐类型
(4)退出程序
基于命令行程序,因为Go的GUI没有成熟库。
将命名为Simple Media Player(SMP)
该程序在运行后进入一个循环,用于监听命令的状态,该程序将接受如下命令
-音乐库管理命令:lib 命令 包括list/add/remove子命令
-播放管理: play命令,后跟歌曲名参数
-退出程序: q命令
第一、先实现音乐库管理模块,它管理的对象为音乐,该对象包含如下信息
1、唯一的ID
2、音乐名
3、艺术家名
4、音乐位置
5、音乐文件类型
type Music struct{
ID int
Name string
Artist string
Source string
Type string
}
之后实现音乐库管理类型,我们使用切片作为基础存储结构,其他操作都是对这个切片的封装。
type MusicManager struct{
musics []Music
}
第二、实现音乐播放
设置一种易于扩展的模式,那就是接口类型
实现一个传入音乐的位置和类型两个参数就行的方法。
func Play(source ,mytype ,name string){
switch mytype{
}
}
type Player interface{
Play(source ,name string)
}
我们通过一批类型(MP3player,MAVplayer)等来实现Player接口。
如果需要增加新的类型就直接新增类型实现Player接口就行