foo_mg:在浏览器上听 foobar2000 库里的音乐
本帖最后由 ofz 于 2014-11-16 22:02 编辑hihihi,中午好。这边是每次一到新展会就饥渴难耐,忍不住拿出上次展会的曲子出来啃的 ofz(才不是因为上次收完的没有听呢!)。这个插件(foo_mg)是 ofz 在一年多前还算不上半吊子的时候写的,功能虽不完善但用起来还算稳定 : )
先说一下适用人群:
1. 自己下载音乐,而不是用 虾米、酷狗 之类在线听的
2. 音乐数量很多(几十上百G),或者有各种奇怪格式的(tta,tak,ape...)
3. 想在移动设备,或者多台电脑上听,而懒得每次转码再复制过去的
4. 能接受浏览器音质的(播放同一个 wav,能听出来不同软件之间存在区别的就算了)
然后是这个插件的特性:v0.2 更新内容
1. 界面重写,代码精简
2. 支持以 zip 压缩包的形式安装和卸载(不用解压了
3. 功能上,音量拉杆君出现了,正在播放页面消失了,还有其他一些大大小小的改动...
v0.1
1. 根据客户端支持的格式自动转码并串流音乐(可以转成 wav 和 mp3),也可以指定(想听无损就设置成 wav)
2. 只要是 foobar2000 支持的音乐格式都可以串流
3. 以文件夹的结构浏览音乐,也带有搜索的功能,对于管理大量的音乐很方便(我现在库里有超过 15000 首曲子)
4. 实时更新:只要把文件复制进文件夹里,在浏览器上刷新即可见到
5. 自动生成封面缩略图(使用 ImageMagic)
6. 同时可扫描和传送音乐文件夹下的图片(booklet),文本(log,lyric)等资源7. 支持歌词显示(虽然看起来很傻)
8. 有播放列表(保存在浏览器里的,跟 foobar2000 并不相通)
恩,考虑到这边是技术区,所以贴一下高级特性(为二次开发考虑):
1. 使用 mongoose 作为 http 服务器,本身支持 cgi(可以跑 php,perl 啥的),经过修改后可以用 lua 脚本做虚拟目录
2. foobar2000 的数据库会被同步到程序目录下的 mgdatabase.db3 这个 sqlite3 数据库里
3. 现在的后端是定制环境的 lua 脚本。由于前面的两点特性,将来用 php 或其他语言写后端也是有可能的
4. 前端是一个很轻量级的 jquery+angularjs webapp,界面什么时候不喜欢了随时可以重写(现在大概是第三个版本了,虽然看起来还是很丑)
更多技术细节和特性可参考
插件本体:
https://github.com/oxyflour/foo_mg
后端 lua 脚本和前端网页:
https://github.com/oxyflour/foo_mg_www
已经坑掉的 android app (其实就是个 webview,原计划支持锁屏显示,通知中心和离线下载的...) https://github.com/oxyflour/foo_mg_app
以下是截图(有自适应的手机和桌面两种界面)
先是手机的。运行环境是 Andorid 4.4 的自带浏览器,开启了全屏。另 Windows phone 8 测试可用,ios 未测试
主界面(我的库里有5个文件夹)
点击搜索按钮弹出来的界面(可切换播放列表,资源列表和设置页面)
下一级子目录(长文件夹名会被自动分割为标题和副标题)
进入某个文件夹之后的曲目列表(track 1 正在播放)
桌面版本
以及
如何安装
1. 去这边下载插件压缩包
http://oxyflour.duapp.com/foo_mg_release/foo_mg_v0.2.zip
2. 打开 foobar2000 菜单 file->preference->components,把下载下来的压缩包拖进去
3. 重启 foobar2000(可能要给它开防火墙),在浏览器上打开这个地址(从其他设备访问请把 127.0.0.1 换成成 本机 ip)
http://127.0.0.1:8080
注意:如果提示需要先删除旧版本,请把 foobar2000/components/foo_mg.dll 删掉!
最后最后,本来考虑这次帖子有点长,就不留碎碎念了吧...不过还是忍不住说一句: discuz 你他喵的能不能别吃换行符啊啊!
膜拜 膜拜大神。。
win-chrome成功,不过貌似没发现自带音量拉杆个说。。
准备给安卓ios试试。。 執行失敗 是有漏什麼東西嗎?
uu26793 发表于 2014-8-21 10:43 static/image/common/back.gif
執行失敗 是有漏什麼東西嗎?
目测是你电脑上有别的程序把 8080 端口给占了...
你要是不知道谁占了这个端口,重启后也一直有问题的话,那就只有让 foo_mg 换个别的端口了:下载这个配置文件,解压出来放到 foobar2000 目录底下
现在里面写的端口号改成了 8081,没报错的话记得把访问地址换成 http://127.0.0.1:8081 这样的哦
然后如果还是同样的错误,你可以用记事本打开那个配置文件再把端口号改的大一些
祝好运啦
虽然不知道是什么,但是感觉很厉害的样子 不错,这个可以有(虽然不用foobar②③③③) 感谢LZ分享 缓慢打开缩在角落里两年的foobar2000,还是不会用[smoke] 本帖最后由 drzzm32 于 2014-9-5 23:29 编辑
能否与其他人共享?
或者说能否直接进入其他人的数据库直接听或者下载呢
砸着砸着键盘突然又想到,下载也是有缓存的,能否hook这个线程直接将文件另存...好吧这跟foobar没任何关系了,再者想想那样保存的很多情况下都是低音质吧
页:
[1]
2