项目计划书

关于选题

我选择开发网络音乐播放器这个实习小项目,因为个人感觉这个项目应该会用到局域网内的套接字通信,这个功能以前没有在Android设备上尝试过,所以我想试一试。

关于项目的实现思路以及模块划分

对于这个音乐播放器项目来说,按照功能,我觉得主要需要划分为两大模块。
首先是音乐播放模块,这个是该音乐播放器的基础功能,所需要做的工作为调用系统的API,进行音频文件的解析和播放。
另一大模块就是两个设备之间的通信,由于是局域网内的通信,目前的思路就是通过WIFI进行套接字通信,使得两个设备之间可以互相传输数据,以此实现设备的互相发现
以及读取其他设备的音乐列表的功能。
在扩展方面,对于控制另一个设备播放功能,需要建立一个统一的通信接口来进行,比如说传送特定的json数据,这也需要用到设备间通信。
推送音乐文件直接通过WIFI就可以进行,断点续传可以使用RandomAccessFile实现。
横竖屏切换和平板适配需要布局文件的特殊处理,通知栏控制音乐播放则需要定义一个比较特殊的Notification。
歌词加载需要进行lrc格式文本的解析,然后通过播放进度的回调接口实现歌词的动态更换即可,专辑页面和分组功能则是一个特殊的布局。

开发计划

日期 任务目标
4月6日上午 进行音乐播放模块的布局设计
4月6日下午 继续完成布局设计 支持音乐播放功能
4月7日上午 进行局域网通信模块的实现 实现可以发现同一个局域网内的其他设备
4月7日下午 实现局域网内设备的互相通信 可以将自己的音乐列表发送给对方
4月8日上午 进行一台设备可控另一台设备播放功能的实现
4月8日下午 如果可控已经完成 则继续完成下一个扩展功能 否则继续完成扩展功能
4月9日上午 如果推送已经完成 则继续完成下一个扩展功能 否则继续完成扩展功能
4月9日下午 如果歌词已经完成 则继续完成下一个扩展功能 否则继续完成扩展功能

可能遇到的技术难点

  • 局域网内通信的实现
  • 音乐列表如何发送 控制通信的格式如何定义
  • 进行播放控制的特殊的Notification如何实现
  • 歌词如何解析和保存

你可能感兴趣的:(项目计划书)