我们在设计一个照片播放器的时候,最简单的想法就是设置一个播放目录,然后循环的播放里面的图片。
可是实际在做的时候,它的细节却远不止于此,并且我们要做到具有非常好的适用性,也需要考虑更多。
比如说我们选择了一个目录,那我们是否需要考虑它的子级目录呢?那么这就需要作为一个可配置项;
在选择这个目录之后,如果目录里面动态地新增出来图片,我们要不要去播放呢?这也又要涉及到一个新的配置;
如果我们需要播放动态新增的图片,在播放的时候,要把它在什么位置播放呢?我们可以把它追加到播放队列的末尾等待播放,也可以去把它插入到下一个来播放,所以播放的插入位置,就又需要作为一个配置项;
那我们在首次读取设置目录的时候,需要按照什么样的顺序呢?可能是文件的默认顺序(也就是不排序),也可以按照文件名称排序,也可以按照文件的创建时间排序,也可以按照文件的最后修改时间排序,然后排序又分为正序和倒序,那么讲到的这些全需要作为可配置项;
那我们在什么时机进行播放呢?我们有可能会让它启动后连续进行播放,但是也有可能我们会希望屏幕处于待机模式下才进入播放,如果待机模式被破坏,就要停止播放,但是我们也有可能只让它在新来图片的时候播放,那么这就涉及到了三个选项的配置;
另外我们在播放的时候,希望它在哪里播放呢?我们有可能让它在默认的启动屏幕播放,也有可能让它在指定的其他的扩展屏播放,那么就需要设置播放的屏幕位置,又要开放这个设置。
那播放的动画本身,例如拿我们当前在做的这个条纹效果的动画来说,影响效果的参数,有没有可能想调整呢?比如说我们展示条纹的时候,可能有横条纹,可能有竖条纹,那么就需要把它开放出来;
展示的条文数量,1个条纹和48个条纹,视觉效果又不同,所以这个也需要设置;
每次动画间歇时长,也有可能需要设置;
单次动画的持续时长,也影响视觉的观感和柔和度,所以它也需要设置;
那么修改了以上这么多的参数,好不容易设置完,下次再设置的时候丢失了怎么办呢?那么我们需要把所有的设置可作为一种方案来进行管理,所以我们又有了设置的方案管理,相当于是所有设置的一个快捷键,便于快速的选择已有的设置。
所以综合考虑,来做一个对场景兼容性特别棒的这样的小工具,需要考虑的内容是非常多的,而且在设置的表现上也需要非常的整齐有序,才能不让操作者混乱。
这个工作内容,正是人需要发挥价值的地方。
深夜看着这样的屏保好治愈:
exe下载地址:
https://github.com/lihonggh/GratingPlayer/releases/download/v1.0.0/GratingPlayer-v1.0.0-win-x64-portable.zip