论文部分内容阅读
绿色软件、小软件,你肯定用过不少,但你见过只有一个文件的程序吗?你见过大小不到700KB而且只有一个文件的播放器吗?当你见到AirPlay的时候,对这两个问题的回答都可以是肯定的。轻盈、美丽的界面下,AirPlay具备所有的播放功能,笔者有幸采访到了开发这款神奇软件的幕后英雄,揭开一段富含个性和执著的开发故事。
FreeMind(CatPlus)
专业:计算机
毕业时间:2000年
职业:程序员
软件作品:AirPlay音频播放器
软件小档案:AirPlay音频播放器
开发语言:VC/ASM 软件性质:免费软件
支持平台:Windows 2000/XP/2003/Vista/7
下载地址:http://www.blog.podez.com/
梅花香自苦寒来
打开AirPlay的网站主页,“音乐为我而生”的标语会让你惊叹:原来AirPlay是有个性的“美人”。这句标语不免会令人误以为软件想“傲视群雄”,其实它要表达的含义是:音乐以满足人的需求为根本,音乐以人为主。软件如此鲜明的个性自然是开发者FreeMind从一开始就赋予它的。
2007年,他决定开发一个大家都能用到的软件,经过分析,他选择了音频播放器这个领域。要从高手如云的老领域里冲出来,FreeMind认定只有开发具备绝对差异的软件才行。反复调研后FreeMind确定的思路是单文件、免安装、大小不超1MB。三个月后第一版本公布,AirPlay的代码,特别是多媒体和图形底层代码,除第三方解码器代码外,完全由他一人开发,后又经多次更新,并且曾重新换了软件的架构,但这三个思路就像软件的骨骼一样始终没有改变。当然,这也让他付出了很多汗水。在如此小的单文件上最困难的就是增加新功能了,有了诸多的限制,比如图标,他就没办法为每一个关联格式做一个图标,因为那会使得文件变得太大。要做唯美的风格,就注定了各种细节都要严格控制,每处理一次点击,一个浮动都要花费FreeMind很多的心血。例如播放列表的拖动阻尼感,因为要做得舒服,还要注意液晶屏幕下拖影的影响,最终都要反复调试才能得到最佳方案。
音乐为我而生的唯美体验
AirPlay的主要特色是水晶界面、Pure Music纯音还原技术、读取压缩文件、无缝播放,直接播放压缩文件的功能我们在2009年第3期《不解压直接听 哪怕遍地RAR》一文中已经有介绍,接下来我们看看开发者自己透露的细节功能。
完全独立的窗口
听歌时,我们一般都会把播放器放在一边,然后忙其他事。AirPlay的三个窗口都可以单独设定是否置顶。例如浏览网页时,是想保留歌词窗口,那么就分别在主播放器窗口和播放列表窗口的上端单击“置顶”按钮(见图),使其状态都为“置顶关闭”,歌词窗口状态为“始终置顶”,这样当我们切换窗口时,只有歌词窗口置顶显示,听歌工作两不误。
技术揭秘:所有窗体都是单独写的控件,所以单独置顶是控件属性,也就是说AirPlay窗体已经控件化,单独置顶设置是窗体的一个基本属性。
看不见滑块的调节
AirPlay的界面风格本身就带有梦幻般的感觉,控制起来更加梦幻,想调整音量,点击音量控制按钮(见图),然后滚动鼠标滚轮就可以了,不喜欢用滚轮的话,直接按住鼠标上下拖动,同样可以调节音量大小,有点玩魔术的感觉吧!
技术揭秘:实现跟随鼠标点击调整音量的功能很简单,只要分析鼠标拖拽事件发生的区域就可以。进一步来说,如果鼠标拖曳发生在音量控制的有效区域,计算音量显示的位置,跟随鼠标位置计算应该如何显示,最终插入每一帧,渲染就可以。
容易忽视的功能
目前的AirPlay主打的是播放功能,按照开发者FreeMind的观点,播放做不好就不去做其他。在歌词这部分我们可以发现一些高级功能。鼠标浮动在歌词窗口上端的时候,功能控制按钮就会浮现出来(见图),分别单击左侧的长方形框可以调整背景的亮度,这样就可以在不调整透明度的情况下看到清晰的歌词。歌词速度不匹配的时候,单击右端的按钮,然后滑动滚轮,就会发现数字在变,正数是加快多少秒,负数是拖延多少秒,这里同样可以按住左键靠上下拖动来调整哦!
技术揭秘:因为程序界面是自己绘制,所以实现对歌词背景的亮度控制。只需单独设立一个亮度变量,用来记忆背景的设置,渲染窗体的时候,再引入这个参数进行渲染。
点将台:你喜欢哪款工具软件呢?你想知道他是如何开发的吗?你想让开发者自己揭秘软件的使用秘籍吗?把你的需求告诉给小白吧(发邮件到ruanj@cfan.com.cn)!你指定软件,我来采访,他来揭秘。(本刊记者/白斌)
FreeMind(CatPlus)
专业:计算机
毕业时间:2000年
职业:程序员
软件作品:AirPlay音频播放器
软件小档案:AirPlay音频播放器
开发语言:VC/ASM 软件性质:免费软件
支持平台:Windows 2000/XP/2003/Vista/7
下载地址:http://www.blog.podez.com/
梅花香自苦寒来
打开AirPlay的网站主页,“音乐为我而生”的标语会让你惊叹:原来AirPlay是有个性的“美人”。这句标语不免会令人误以为软件想“傲视群雄”,其实它要表达的含义是:音乐以满足人的需求为根本,音乐以人为主。软件如此鲜明的个性自然是开发者FreeMind从一开始就赋予它的。
2007年,他决定开发一个大家都能用到的软件,经过分析,他选择了音频播放器这个领域。要从高手如云的老领域里冲出来,FreeMind认定只有开发具备绝对差异的软件才行。反复调研后FreeMind确定的思路是单文件、免安装、大小不超1MB。三个月后第一版本公布,AirPlay的代码,特别是多媒体和图形底层代码,除第三方解码器代码外,完全由他一人开发,后又经多次更新,并且曾重新换了软件的架构,但这三个思路就像软件的骨骼一样始终没有改变。当然,这也让他付出了很多汗水。在如此小的单文件上最困难的就是增加新功能了,有了诸多的限制,比如图标,他就没办法为每一个关联格式做一个图标,因为那会使得文件变得太大。要做唯美的风格,就注定了各种细节都要严格控制,每处理一次点击,一个浮动都要花费FreeMind很多的心血。例如播放列表的拖动阻尼感,因为要做得舒服,还要注意液晶屏幕下拖影的影响,最终都要反复调试才能得到最佳方案。
音乐为我而生的唯美体验
AirPlay的主要特色是水晶界面、Pure Music纯音还原技术、读取压缩文件、无缝播放,直接播放压缩文件的功能我们在2009年第3期《不解压直接听 哪怕遍地RAR》一文中已经有介绍,接下来我们看看开发者自己透露的细节功能。
完全独立的窗口
听歌时,我们一般都会把播放器放在一边,然后忙其他事。AirPlay的三个窗口都可以单独设定是否置顶。例如浏览网页时,是想保留歌词窗口,那么就分别在主播放器窗口和播放列表窗口的上端单击“置顶”按钮(见图),使其状态都为“置顶关闭”,歌词窗口状态为“始终置顶”,这样当我们切换窗口时,只有歌词窗口置顶显示,听歌工作两不误。
技术揭秘:所有窗体都是单独写的控件,所以单独置顶是控件属性,也就是说AirPlay窗体已经控件化,单独置顶设置是窗体的一个基本属性。
看不见滑块的调节
AirPlay的界面风格本身就带有梦幻般的感觉,控制起来更加梦幻,想调整音量,点击音量控制按钮(见图),然后滚动鼠标滚轮就可以了,不喜欢用滚轮的话,直接按住鼠标上下拖动,同样可以调节音量大小,有点玩魔术的感觉吧!
技术揭秘:实现跟随鼠标点击调整音量的功能很简单,只要分析鼠标拖拽事件发生的区域就可以。进一步来说,如果鼠标拖曳发生在音量控制的有效区域,计算音量显示的位置,跟随鼠标位置计算应该如何显示,最终插入每一帧,渲染就可以。
容易忽视的功能
目前的AirPlay主打的是播放功能,按照开发者FreeMind的观点,播放做不好就不去做其他。在歌词这部分我们可以发现一些高级功能。鼠标浮动在歌词窗口上端的时候,功能控制按钮就会浮现出来(见图),分别单击左侧的长方形框可以调整背景的亮度,这样就可以在不调整透明度的情况下看到清晰的歌词。歌词速度不匹配的时候,单击右端的按钮,然后滑动滚轮,就会发现数字在变,正数是加快多少秒,负数是拖延多少秒,这里同样可以按住左键靠上下拖动来调整哦!
技术揭秘:因为程序界面是自己绘制,所以实现对歌词背景的亮度控制。只需单独设立一个亮度变量,用来记忆背景的设置,渲染窗体的时候,再引入这个参数进行渲染。
点将台:你喜欢哪款工具软件呢?你想知道他是如何开发的吗?你想让开发者自己揭秘软件的使用秘籍吗?把你的需求告诉给小白吧(发邮件到ruanj@cfan.com.cn)!你指定软件,我来采访,他来揭秘。(本刊记者/白斌)