最近用jruby做个东西,想用ruby的win32/sound快速实现下播放音乐的功能,但是jruby不能运行系统平台相关的扩展包,
没办法,找java吧。
google一下,有Java Sound API,略微浏览乐下sun站点的E文,下乐个Demo包( http://java.sun.com/products/java-media/sound/samples/JavaSoundDemo.zip) 回来,
两者从用户的角度,比较的结果都是差不多的。
在上述两方的比较中,实现的复杂度几乎都是一样的。但如果将这种复杂度传递给用户,对用户而言,到底是福还是祸?当99%的对API的用法只有一种可能的时候,将庞大的架构接口、用法配置一股脑儿扔给用户,对用户而言到底是不是负责任?我们有很多更重要的事情要做,我们只想使用这个工具很快的完成我的工作,我们对产品的实现架构在目前一点兴趣也没有──当然你也要给我自由配置的可能──因此,上述的比较中,大多数人的都会选择左边。
题外话,又开始写.NET代码了。看着一个简单的功能轻易的产生出一大堆代码,感觉真是难受。
--
Michael Chen
--------------------------------
Blog: http://michael.nona.name
MSN: jzch...@hotmail.com
最近用jruby做个东西,想用ruby的win32/sound快速实现下播放音乐的功能,但是jruby不能运行系统平台相关的扩展包,
Java的官方社区一直有一个很糟糕的官僚传统:先订出规范,哪怕这个规范并未得到有效的实践检验。一个典型的例子是XML处理的接口。除了坐在办公室里拍脑袋订规范,我想象不出有任何理由能说明为什么DOM接口会设计成这个样子。
--
Jeff Xiong
Software Journeyman - http://gigix.thoughtworkers.org
Open Source Contributor - http://rubyworks.rubyforge.org
Technical Evangelist - http://www.infoq.com/cn/
在 07-6-23,Jeff Xiong<gigi...@gmail.com> 写道:
--
X斗米
On 6月23日, 下午5时47分, "li xiao" <swing1...@gmail.com> wrote:
> 最近用jruby做个东西,想用ruby的win32/sound快速实现下播放音乐的功能,但是jruby不能运行系统平台相关的扩展包,
> 没办法,找java吧。
>
> google一下,有Java Sound API,略微浏览乐下sun站点的E文,下乐个Demo包(http://java.sun.com/products/java-media/sound/samples/JavaSoundDemo.z...来,
> 打开一看,五脏俱全,一个简单的音乐文件播放器做的demo,可以运行的jar,readme以及源文件,
>
> 有我要的东西是肯定的乐,但是:一共8个源文件,131多kb的内容,
> 稍稍花乐大概1、2分钟,没找到我要的播放一个文件的代码,大概是我用EditPlus这种简单的文本编辑器的缘故,
> 唉,一阵郁闷,放下手头的事情来写下这篇感想。
>
> 对比是非常强烈的,因为之前我只花乐大概不到30秒钟看ruby win32/sound的例子就知道我需要的一共是三行代码:
> require "win32/sound"
> include Win32
> Sound.play('c:\\windows\\media\\chimes.wav')
>
> 如果非要把安装它的一行gem install加上,也就4行。
> 当然,代码行数不是关键,那只是附带的好处而已,但是代码少确实是一击及中一目了然的。
> 关键是,读两个例子明白怎么使用它的时间和精力,
>
> Sun似乎一贯的,有编写让人难以阅读的例子的传统,似乎它们的例子主要是给人显示下java能做什么,而不是帮助人们使用java做到那些事情的。
> 还有个例子是有关speech api的,mac上直接就有say命令,为了在windows上也能来一段话,又google乐一下,
> Sun也提供这个方面的标准api,叫*Java Speech API* ,有一些厂商和开源项目实现它,