写点什么

Playr 2.0: 继续做最好的

  • 2009-03-01
  • 本文字数:1239 字

    阅读完需:约 4 分钟

与传统的应用开发技术相比,富客户端应用的一个重要方面是处理媒体内容的简易性。 Playr ActionScript 3 music library 是其中一个例子,它帮助基于 Flash、Flex 或 AIR 的应用更容易地处理音乐内容。InfoQ 采访了 Playr 的作者 Ronny Welter,他是一个年轻的 Flash 开发者,住在比利时,同时他还负责 FlashFocus.nl 网站。他讲述了 Playr 是如何从他的多个濒临最后期限的项目中孕育出来的。

我曾在一个项目工作,当时我需要一个能处理不同播放列表的音乐播放器。我觉得这个活儿应该用 Flash!于是在 web 上快速搜索 了一下,但没找到我需要的库。因为当时很着急要,我就自己写了一个。后来我为了得到大家的 bug 报告和特性需求反馈,就把那个类发布了。最初它被称为 ‘MusicPlayer’。当第一个像样的 ActionScript 3 版本发布后,我把它改名为 Playr。 Playr 让用 Flash/Flex 编写任何类型音乐播放器的活儿变得像小菜一碟:轻松、直观、快速!它能处理任意的需求,从单一音轨到全功能播放器。

据 Welter 介绍,Playr 被设计成某种类似 MVC 结构的应用,它允许你按自己的需要创建视图,添加模型数据和控制逻辑。他说:

我添加了注册函数,这样你可以简单地针对所期望的控制编写处理器。不过如果你更愿意注入自己的逻辑来控制一切,采用事件监听器吧。几乎所有的地方都有事件,这应该能让任何人完成他想做的事。

至于在开发 Playr 方面遇到的挑战,Welter 谈到:

Playr 应该能让事情变得简单。因此,构建一个既灵活,又易于使用的库或许是最难的部分了。让 Playr 总是保持简单的同时,让 它向着我想要的方向发展,这在某些时候确实让我头疼。一个尚不能正确工作的事情是音轨的时长。目前,你必须用 XML 传入这个值(以秒计),否则一些特性不 能工作。ID3 标签只能给出已载入部分的音轨时长。例如:一段时长 240 秒的音轨,如果只载入了一半,ActionScript 的音频长度属性将会返回 120 秒。那就是说,它处理的是缓存部分的音轨。我已经尝试了所有的办法,还是不能得到正确的值,所以我只能坚持这种使用 XML 的方式,直到我能得到正确 的值。

对于未来的计划,Welter 告诉 _InfoQ_:

我对 Playr 有很多想法。目前我正审视一些新特性,例如交叉衰退(cross fading),与 Last.fm API 集成,声音失真和效果等等。当前有一个叫做 PlayrDiscovr 的 PHP 的实现,它是一个自动化播放列表,能帮助节省时间。 PlayrDiscovr 的最新版本是 Ward Werbrouck 写的。我正在寻找愿意为 PlayrDiscovr 编写 ASP、Ruby、ColdFusion 和 Python 实现的人。同时我也在做一 个视觉化(Visualizr )类,以便支持各种声音效果。这不只是为了 Playr,但它同样应该像 Playr 一样易于使用。

这里是一些使用 Playr 的音乐项目:

http://playr.nocreativity.com/look/singletrack/

http://playr.nocreativity.com/look/fullblown/

http://walterego.be

http://tarasnovak.com/blog/2009/01/15/flex-music-player-v2/

http://guusdegraeve.be/schoolwork/transformers/

查看英文原文 Playr 2.0: And the Best Goes On

2009-03-01 19:221230

评论

发布
暂无评论
发现更多内容

盲盒风潮过后,中国收藏玩具市场该何去何从?

易观分析

盲盒 潮玩

租房小程序

源字节1号

前端开发 后端开发 租房小程序

基于微信小程序的大学社团平台的可研方案

CC同学

fastposter v2.6.0 发布 电商海报生成器

物有本末

fastposter 海报生成器 电商海报

基于深度学习的时间序列预测

云智慧AIOps社区

如何从头到脚彻底解决一个MySQL Bug

华为云开发者联盟

MySQL 数据库 华为云 bug GaussDB(for MySQL)

手把手教程|构建无服务器通用文本识别功能

亚马逊云科技 (Amazon Web Services)

架构

安全app之PHP代码审计

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 代码审计

2 月月更获奖名单公布!获奖的小伙伴速速领取奖励啦!

InfoQ写作社区官方

2月月更 热门活动

hexo+github搭建个人博客前期部署工作

静Yu

Hexo

云计算及国内主流云厂商概述

穿过生命散发芬芳

3月月更

如何从头到脚彻底解决一个MySQL Bug?华为云数据库高级专家带你看

华为云数据库小助手

bug GaussDB 华为云数据库 GaussDB(for MySQL)

企业内PAAS建设的经验与教训

Crazy

中间件 PaaS 经验 云原生应用

杜绝不良信息侵害未成年,皮皮APP发起语音社交行业自律书

联营汇聚

关于知识库:你需要知道的一切

小炮

聊聊 kerberos 的 kinit 命令和 ccache 机制

明哥的IT随笔

数据安全 kerberos

什么是以特性为核心的持续交付|阿里巴巴DevOps实践指南

阿里云云效

云计算 阿里云 研发效能 研发 DevOps实践指南

好云推荐官丨飞天加速之星怎样选择云服务器ECS?

阿里云弹性计算

阿里云 采购季 好云推荐官

喜讯!openGauss社区入选2021年 “科创中国”榜单

openGauss

如何使用OKR管理团队?

优秀

租房小程序

源字节1号

前端开发 后端开发 租房小程序

做毕设用不起GPU?亚马逊云SageMaker免费给你用

亚马逊云科技 (Amazon Web Services)

学习

基于WEB快速开发平台的轻量ERP

雯雯写代码

ERP 快速开发平台

被冰封的 Bug:Fishhook Crash 修复纪实

声网

Dev for Dev fishhook

VuePress 博客之 SEO 优化(一) sitemap 与搜索引擎收录

冴羽

Vue vuepress SEO 博客搭建 sitemap

你的密钥被我看见了 !逆向获取密钥

H

网络安全 逆向

敏捷小游戏的思考-上篇

LigaAI

团队管理 敏捷实践

向工程腐化开炮 | Java代码治理

阿里巴巴终端技术

Java android JVM 代码治理

OceanBase 社区版 运维管控平台 OCP 功能解读

OceanBase 数据库

OCP oceanbase OceanBase 开源 OceanBase 社区版

APICloud平台使用融云模块实现音视频通话实践经验总结分享

YonBuilder低代码开发平台

前端开发 APP开发 APICloud 融云 跨端开发

openGauss社区成立ReleaseManagement SIG

openGauss

Playr 2.0: 继续做最好的_Java_Moxie Zhang_InfoQ精选文章