写点什么

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:221339

评论

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

OKR之剑·理念篇01: OKR带给我们的改变

vivo互联网技术

OKR 目标管理 研发管理

不惧繁杂背景,视频编辑服务一键实现人像抠图

HarmonyOS SDK

数据结构与算法 之线性表

喜羊羊

9月月更

【精通内核】Linux内核写锁实现原理与源码解析

小明Java问道之路

读写锁 锁降级 Linux内核 9月月更 锁唤醒

Java进阶(二十二)使用FileOutputStream写入文件

No Silver Bullet

9月月更 FileOutputStream 写文件

腾讯前端一面常考面试题合集

loveX001

JavaScript 前端

Github点击破百万!这部《从零开始学架构》神书就此霸榜

Java-fenn

Java 程序员 java面试 Java书籍 Java面试题

【C语言深度剖析】深入理解const的用法(趣味小故事解析)

Albert Edison

指针 C语言 const 9月月更

C/C++生态工具链——gcc/g++编译器使用指南

独立开发者_CoderZZ

c++ C语言 GCC g++ gcc 编译器

MFC框架下,加密图片加载并显示功能

中国好公民st

c++ 加密 9月月更

数据库的schema与数据类型优化

阿柠xn

数据库 sql 高性能 优化技巧 9月月更

智能湖仓架构实践:利用 Amazon Redshift 的流式摄取构建实时数仓

亚马逊云科技 (Amazon Web Services)

大数据ELK(一):集中式日志协议栈Elastic Stack简介

Lansonli

ELK 9月月更

前端二面必会面试题(附答案)

beifeng1996

JavaScript 前端

图系列算法在转转推荐算法召回及粗排的实践

转转技术团队

深度学习 推荐系统 图算法 graph embedding

为什么Vue中的v-if和v-for不建议一起用

达摩

Vue

[Go WebSocket] 多房间的聊天室(六)为什么要加锁?不加锁行不行啊?

HullQin

Go golang 后端 websocket 9月月更

Java知识点锦集2

喜羊羊

9月月更

敏捷Scrum实施落地中的3大典型问题及解法

爱吃小舅的鱼

恍然大悟,才知道什么是真正的思维导图!

博文视点Broadview

Java知识点锦集1

喜羊羊

9月月更

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v5.0版已发布

JackJiang

Netty 即时通讯 im开发 开源im

Elasticsearch聚合学习之三:范围限定

程序员欣宸

elasticsearch 9月月更

前端高频面试题汇总(一)

loveX001

JavaScript 前端

数据库的视图该怎么用?

阿柠xn

MySQL 数据库 视图 9月月更

Java后端每日学点系列?线程知否,List懂否,垃圾回收器晓得否

知识浅谈

线程 垃圾回收器 9月月更

想成为数据科学家,哪些技能你必须具备?

雨果

推荐:实现 SVG 动画的 5 个 JavaScript 库~

掘金安东尼

前端 9月月更

头大了,Mysql写入数据十几秒后被自动删除了

南城FE

MySQL 前端 nodejs

使用 FSM 管理 osm-edge 服务网格入口流量

Flomesh

Service Mesh 服务网格

为什么阿里人成长速度极快?看完他们 Java 架构进化笔记,值得学习

Java-fenn

Java 程序员 java面试 Java学习 Java面试题

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