一个基础的壁纸轮播模板,可以自动轮播图片,切换播放音乐,可以轮播视频列表。
by:wh131462
在拉取项目之后,如果需要转码,务必将FFmpeg.zip
解压放到根目录,如此指令才能找到对应的转码软件。
由于云盘和github对于文件上传的大小限制都是100MB,所以无法直接给一个下载链接,或者直接拉代码就下载下来。
所以给出官网链接,请选择对应版本下载。
https://ffmpeg.org/download.html
由于原生JS对于文件资源的访问是有极大限制的,所以所有的资源必须在页面初始化的时候就已经存在且定义在变量中,才能不需要经过点击input来取读取识别。 因此,资源的初始化应当是一个预处理的操作,也就是说在壁纸实际使用之前就要进行资源的初始化。
在windows下(当然wallpaper engine也只能用在windows中),我编写了一个bat文件来实现资源的初始化,在根目录中存在两个文件和资源初始化有关。
目录结构:
Wallpaper
|_ initDir.bat #bat脚本 在文件夹中双击执行即可实现资源的初始化
|_ dir.json #资源初始化后的文件 此文件初始的时候可以不存在 在执行脚本之后自然会重建此文件
|_...
为了资源的统一管理,我将资源划分为了三类,如果需要替换默认资源为自己的资源,可以按如下规则来存放自己的资源。
目录结构:
Wallpaper
|_resources
|__img #图片文件资源 支持格式为jpeg/png
|__audio #音频资源文件 支持格式为wav/mp3/ogg/acc/webm
|__video #视频资源文件 支持格式为WebM/Ogg PS:Wallpaper Engine不支持MP4
|__...
FFmpeg
A complete, cross-platform solution to record, convert and stream audio and video.
FFmpeg是一个十分强大的视频处理程序,因为wallpaper engine对于web类型的壁纸播放视频有类型的限制(只能播放webm视频),所以我引入了FFmpeg程序在项目文件,可以在根目录找到ffmpeg
文件夹,存放着ffmpeg的源程序。
实现思路就是,使用bat脚本对于视频资源目录进行遍历并将不符合格式的视频进行转码处理,目前实现了对MP4格式的转码。
由于视频文件一般较大,所以转码时间也会有所延长,所以脚本执行最好是在闲时执行。
脚本名称为:convertMp4ToWebm.bat
存放在根目录下,如果出现视频无法播放,为黑屏的情况,可以执行此脚本进行视频转码。