OOPlayer 是 Windows 下面广受欢迎的音乐播放器“千千静听”在 GTK+ 下的复制品,实现了基本的音乐播放功能。
=================================
与上一版本(Beta 1)的差别:
1、改用 FFmpeg 作为默认播放后端,支持 MP3/WMA/APE/AAC 等格式。(尚未充分测试,可能有些格式不是完全支持,如RA、AMR等,可能还播放不了)
2、修正了几个会导致程序崩溃的 BUG。
3、完善对APE的播放支持。(2012.06.02)
=================================
只要某个功能在应用程序中出现,那么它一般都是已经被实现了的。但有一些例外,如下几个功能是还没实现但出现在界面中的:
1、可视化应用程序配置窗口(各右键菜单中的“配置”选项);
2、不支持除 MP3 外的类型的歌曲文件的标签读写。而且为提高写入性能,ID3v2 的写入功能默认也被禁用了(暂时无法手动开启)。所以有时候保存标签时明明删掉了某些字段,重启程序后又出现了,这是因为 ID3v2 部分没有更新。
3、均衡器;
4、迷你窗口;
5、HTTP 代理;
6、歌词秀窗口“置顶”;
7、OOPlayer.org 网站。
=================================
对于 Unity,在 Ubuntu 12.04 下运行会获得最佳效果。
在 Ubuntu 11.10 的 Unity 下面会导致各种奇怪的事情,如拖拉改变窗口大小可能会导致窗口后续的重画失效,也就是总是停留在某个画面了,具体原因不明。貌似 YLMF OS 4/5 是基于 Ubuntu + Unity 进行再开发的,也存在这个问题。
因为 Unity 只支持白名单托盘图标,所以程序在 Unity 下不会创建托盘图标,所以无法实现“最小化”以及“最小化到托盘”的功能。
=================================
以下是几个比较特别的情况:
1、窗口不能移出屏幕的可视区域,这个貌似是 GTK+ 的限制;
2、在很多发行版下面不支持设置窗口透明度,具体什么原因还没深究;
3、“打开文件路径”功能要想正常使用,目标机器上必须装有 Nautilus,这是硬编码并限死了。这个功能在 Ubuntu 9.04 和稍高一点的版本下面都不能用(那些版本的 Nautilus 不支持定位到指定文件,只能打开一个文件夹);
=================================
千千静听的皮肤不能直接被 OOPlayer 使用,必须经过转换。
转换程序现在还不是很完善,待完善后会放出来。
=================================
程序主要是在 Ubuntu 9.04 以及 Fedora 16 下面进行测试的。
Ubuntu 9.04 对于 Linux 世界来说真的有点古老了,开发与测试时感觉虽然对 OOPlayer 的支持和新的发行版没什么大的差别,但细节上的差别还是有不少的。而且有一个很大问题,就是有时候放着放着 FMOD 就会在卡死在某处了,不断地循环播放附近的几秒。必须通过 Ctrl+C 进行强制中止程序。看 FMOD 的调试输出也没有什么有价值的信息,所以建议尽量用比较新的发行版。
程序在 YLMF OS 5.0 下面添加文件时会提示一个 GObject 方面的错误;
在 Ubuntu 10.10 下面键盘事件与输入法的处理也非常奇怪。
=================================
程序使用 C++ 进行开发,用到的 GUI 库是 wxWidgets。解码器现在只提供了 FFmpeg。
=================================
关于开源:
现在 OOPlayer 还不准备开源。这是一个我刚开始学习 C++ 便开始的项目,因此整个应用程序的架构规划得比较烂。具体实现也一样,充满了各种奇奇怪怪的写法,很多时候需要修改某个地方时,连我自己都不知道当初为什么要这么写。所以我实在无法鼓足勇气将它的源码放出来。
假如顺利,到 2.0 时会开源。现在的想法是至少重写整个播放器部分,同时可能会不再使用 FMOD Ex 作为播放引擎。
程序中用到的音乐文件标签读写库 MyTagLib 的源码很快会放出来。
=================================
程序中预带了几款皮肤,因发布仓促,尚未一一发邮件征得作者同意。若某位作者不同意将其作品擅自打包与发布,请及时告知,非常感谢!
=================================
安装与使用:
直接下载压缩包,解压到磁盘上任意位置,以管理员身份执行“install.sh”,那么即可在发行版的主菜单中的“应用程序”→“影音”子菜单中看到“OOPlayer”。
卸载时以管理员身份执行“remove.sh”即可。
音频输出插件可以选择使用 OpenAL 或者 PulseAudio 。推荐使用后者,因为 OpenAL 默认不带 PulseAudio 支持,用它会导致声卡被独占。
切换输出插件需要手动进行:
要想使用 PulseAudio,将 OOPlugin_PulseAudio.so 放到 Plugins 目录下面即可;反之要想使用 OpenAL ,将 OOPlugin_OpenAL.so 放到 Plugins 目录下面即可。两者不应该同时放到 Plugins 目录下面,否则程序会默认使用其中的一个(使用哪一个依 OS 的 Loader 而定)。默认情况下 OOPlugin_OpenAL.so 放在 Plugins 的子目录 Alternative 下面。
强烈建议:
1、OOPlayer 仍然处于非常原始的测试阶段,各种 BUG 会层出不穷。OOPlayer 具有修改 MP3 文件标签的功能,也会自动对歌曲文件进行修改(自动嵌入歌词,现时还没提供选项禁止这样做)。所以为求保险,建议大家将需要使用 OOPlayer 播放的歌曲复制到一个临时文件夹,然后要将这个临时文件夹添加到 OOPlayer。这样 OOPlayer 修改文件也是修改这些文件,不会对原文件做任何破坏性修改!
2、“物理删除”一个歌曲文件真的会将文件删得干干净净,而不是移动到回收站,所以请谨慎使用!
假如出现什么 BUG ,请跟帖说明。不过程序几乎不会输出任何调试信息,所以描述发生了什么可能会比较困难,先在此对不辞劳苦的同鞋表示感谢!
=================================
下载地址:
http://115.com/file/anbrzhx5#OOPlayer.20120602.tar.gz