基本完成所有功能，剩下还有在线播放时缓存完成后写入文件