使用 Laravel 快速构建网站系列 —— 开源音乐流媒体应用:Koel

使用Laravel开发的音乐流媒体应用Koel

1、简介

当你的电脑硬盘空间不够存放音乐怎么办?Phan An 也遇到这个问题,于是他决定创建一个名为 Koel 的应用来解决这个问题。

Koel 是一个基于 Web 的个人音乐流媒体应用,基于 Laravel 5.1 和 Vue.js 开发。

2、GitHub

https://github.com/phanan/koel

3、网站

http://koel.phanan.net/

4、功能特性

目前支持搜索、排序,通过艺术家或专辑查看、播放列表、喜欢/不喜欢歌曲、以及创建用户用于分享歌曲等功能,此外还支持以下快捷键操作:

  • F:设置全局搜索框焦点
  • 回车:播放一首歌曲,如果选中多首歌曲,回车将会将它们添加到队列底部。Shift+Enter 会将选中歌曲放到队列顶部
  • 空格:切换播放
  • J:播放队列中下一首歌曲
  • K:播放队列中前一首歌曲

5、安装&使用

服务器要求

  • PHP 5.6 或者更高版本 (PHP 7.0 测试通过)
  • MySQL 或 MariaDB(实际上,Laravel 支持的数据库都可以)
  • Web 服务器(Nginx 或 Apache)

安装&初始化

git clone https://github.com/phanan/koel
cd koel
sudo npm install
bower install
gulp
composer install
php artisan key:generate
vi .env # 配置数据库及后台账户
php artisan init

登陆到 Homestead 运行如下命令在 Nginx 中新增一个站点:

serve koel.app ~/Code/koel

在浏览器中访问 http://koel.app,使用之前在 .env 配置的后台账户及密码登录到后台:

Koel后台界面

目前还没有导入歌曲,所以后台列表为空,下面我们来导入歌曲并播放。

导入&播放歌曲

默认列表为空,要添加歌曲,可以点击“Settings”,然后在该界面的输入框中输入包含音乐文件的目录:

在Koel中导入包含歌曲的目录

点击“Scan”按钮,导入该目录下所有歌曲,导入成功后点击“All Songs”,就列出了刚刚导入的歌曲:

在Koel导入歌曲

选中一首歌曲,点击播放按钮,即可播放该歌曲。超酷炫!

当然,我们不想每次在该目录下添加歌曲后都要手动将其导入到列表,对此,我们可以使用一个 Cron 任务来搞定:

0 0 * * * cd /home/vagrant/Code/koel/ && php artisan koel:sync >/dev/null 2>&1

学院君

学院君 has written 548 articles

资深PHP工程师,Laravel学院院长