17
Sep
iTunes LP 的内部结构
原文链接;本文经由 Jay Robinson (杰伊·鲁滨逊)许可发布。
网页开发师杰伊·鲁滨逊对 iTunes 新增入的 LP 功能很感兴趣,他想要了解一下里面的结构,因此不妨跟随他一起,来一次虚拟拆解吧。
基本情况
iTunes LP 文件是一个超过 500MB 大小的,扩展名为 .ITLP 的封包。当你在 iTunes 中打开它的时候,将会借由浏览器来显示并占据整个窗口,接着照片淡入,音乐响起。页面中的链接将把你带入到最主要的功能之中,例如照片、视频以及歌词。
LP 的框架大小看上去像是 1280×720 ,不错的分辨率,但是纵向分辨率小于 842 像素的电脑会出现讨厌的滚动条,比如说 13 寸的 MacBook 。
下方是 Jay-Z 《蓝图3》专辑中的一些截图。

视觉化
有趣的是,当你点击「全部播放」的时候会呈现出视觉化的效果,这是颇具惊喜和创意的功能。Jay-Z 的这张专辑内置了三种视觉化效果,并会在其间切换。首先出现的是音频波形,不过可惜是固化效果,而非由音乐自动生成。三种效果的名称分别是:「波流」、「曲表」和「迷」。
然而,在欣赏 LP 曲目时还会带来意想不到的问题,Genius 合集中也有这样的情况出现,即无法得知目前正在播放歌曲是什么。这意味着除非退出 LP 模式,否则无法给歌曲评级或者查看其他相关数据。
这还会产生另外一个问题,退出 LP 并不会记录最后播放的信息,意味着当你想要在中途寻找某首歌曲的信息并重返 LP 时,要做好重新开始的准备。不过幸运的是这不会影响到播放计数功能。下方是「波流」效果的截图。

WebKit 和 iTunes LP 内部结构
鲁滨逊反复表达了对 LP 内部结构的好奇,他料想这玩意应该和 iPhone 程序类似 (.IPA),于是他把 .ILTP 改成了 .ZIP ,结果没错,改名以后就可以一窥底细了。当然,也可以通过右键点击封包文件,再选择「检查包中内容」,不过估计苹果将在未来移除这项功能,而且改为 ZIP 也方便许多。下图是包内文件的截图。
LP 采用的技术或标准有:HTML 4.01、CSS 和 JavaScript ,界面非常类似 Flash ,但看不到它存在的痕迹。CSS 动画精巧而顺畅,字体通过 @font-face 在 CSS 中引用,但似乎用处不大,因为大多数文字,甚至长如歌词,也是通过 PNG 文件来呈现的,鲁滨逊猜测苹果原先是打算用字体来渲染文字,但最后改变了主意。(纯文本效果不及要求?),在 The Doors 的专辑中他发现了一些痕迹,比如说原始文件的名字是「song13BackgroundClean.jpg」,但真正使用的是「song13Background.jpg」这张,你可以在下图中看到他们的差别。
也许并不令人惊讶,LP 中的文件可以在最新版的 Safari (4.0.3)里很好的运行,除非某些请求 iTunes 响应的部分,例如电影文件。而 The Doors 的 LP 专辑中还遗留有开发时使用的文件,例如参考图片或是布局风格指南,见下图。
DRM
虽然用户的 iTunes 商店账号会被记录在 .PLIST 文件里,但是鲁滨逊并未发现 DRM (数字版权管理)的痕迹,即便在播放期间取消授权也依然能偶正常播放。他认为修改 .PLIST 文件也许可以将 LP 中的歌曲指向其他曲目。
虽然用户的 iTunes 商店账号会被记录在 .PLIST 文件里,但是鲁滨逊并未发现 DRM (数字版权管理)的痕迹,即便在播放期间取消授权也依然能偶正常播放。他认为修改 .PLIST 文件也许可以将 LP 中的歌曲指向其他曲目。
总结
鲁滨逊对 LP 相当满意,而 LP 仅使用了 JavaScript 和 CSS3 提案中的部分功能就达到了这样的效果。视觉化提供了观赏音乐的另一种方式,有趣的是,许多人在观看 LP 中的 CSS 动画时,多以为是 Flash 制作出来的效果。
16 Comments
发表评论
分类
- iTunes 商店 2009 年最佳与热销榜单
( 2009.12. 9 ) - Tweetie 2 评测
( 2009.12. 8 ) - 【快抢】 《武士:勇者之路》
( 2009.12. 5 ) - 我们需要可以编程的 Twitter 客户端
( 2009.11.30 ) - 《德军总部 3D》iPhone 版开发记
( 2009.11.27 )
- 宫本茂:「创造梦幻岛」
( 2009.12. 9 ) - 菲尔·席勒的 iPhone 里有什么?
( 2009.12. 7 ) - 专访肯·西格尔
( 2009.11.10 ) - 何妨多能
( 2009.11. 9 ) - Web 虽胜,Gopher 犹存
( 2009.11. 7 )
- Chrome OS 会议实录
( 2009.11.20 ) - 苹果 09 财年第四财季业绩报告【要点问题】
( 2009.10.21 ) - 【杂谈】德州仪器 TI-83+ 的破解
( 2009.10.15 ) - 苹果和未来出版业(一)
( 2009.10.12 ) - Tweetie 2 推广码一枚免费发送
( 2009.10.12 )
- 杂志封面上的乔布斯
( 2009.11.14 ) - 乔布斯的黎明
( 2009.11. 8 ) - 乔布斯,在他们眼中··· ···
( 2009.11. 7 ) - 乔布斯的一些罕见照片
( 2009.11. 6 ) - 象乔布斯那样去演说
( 2009.10.13 )
- 谣言:第四代 iPhone 由富士康制造
( 2009.12.11 ) - 苹果招募视频游戏艺术家
( 2009.12.11 ) - 中国联通 40 天出售 10 万部 iPhone
( 2009.12.10 ) - 苹果平板春季发布?
( 2009.12.10 ) - 新闻汇集
( 2009.12. 9 )
- Phone-O-Scope:将单反镜头接入 iPhone
( 2009.12. 5 ) - 深入谷歌 Android 和苹果 iPhone OS:商业模式
( 2009.12. 2 ) - iPhone vs iPod
( 2009.11.30 ) - 迷雾重重的苹果平板
( 2009.11.19 ) - 谈谈 Apple TV
( 2009.11.13 )
- ㊣ 原版 Snow Leopard 免费赠送计划!【活动已结束】
( 2009.08.26 )
- 打败 iPhone 要做好的 3 件事
( 2009.11.11 ) - 雪豹新特性之──自动化 & 服务
( 2009.10.11 ) - 如何避免社交灾难: Facebook 篇
( 2009.07.31 ) - 如何避免社交灾难: Twitter 篇
( 2009.07.31 ) - 如何使用 iPhone OS 3.0 的 40 个最佳功能(下)
( 2009.06.18 )







不知道有什么创作工具可以支持
Dashcode
买了MUSE的《resistance》 iTUNES LP
大概是期望太高,很失望。
12张图片,三段视频。唱片幕后名单。
最囧的是显示歌词的情况下竟然不能连续播放-_-
没有太大的意义
不过这样苹果确实需要一个数据库
哈哈
哈哈,muse的音乐确实比较古怪啦
Dashcode只能算个简单的打包器。我指的是能支持动画等多媒体创作并输出成HTML/CSS/JS的艺术创作工具,就像用Adobe Flash来做Flash动画。
现在css动画还没有timeline的概念。css动画做为web design的补充,并不可能完全取代flash。
目前还是需要手动编写脚本已实现动画播放。
编辑一段剧本不是特别方便。
今天去下了一个 做的还不错 如果是Fans的话 应该会收藏的.
今天去下了一个 做的还不错 如果是Fans的话 应该会收藏的.
不过the doors的LP还不错~如果有闲钱收收留念还不错,不知道这东西能流行多久~
@“今天去下了一个 做的还不错 如果是Fans的话 应该会收藏的. ”
这个价格可以去收藏黑胶了。从什么时候开始歌词,小册子变成了应该额外付钱的东西?那些访谈视频你真的会反复看?youtube上都会有。配合音乐的视觉效果?。。。苹果疯了么?有无数插件可以做到。
这东西做成免费附加的内容还可以,再次提价真的不可理喻。一堆数码文件的价格,不但超过了CD,甚至接近了黑胶。
另外,如果这个文件大小可以接受,请先把音乐文件本身提升到无损吧。
私の名前はジェイロビンソンです。
私はこの記事を書いた- http://jwr.cc/x/3
あなたが私のハードワークの適切なクレジットを提供するだろうか?
楼上的认为apple4是日本人的网站?
翻译的文章没有署名,人家找上门来了!
我已同 Robinson 做了沟通,意外的是,他欣然同意我们转载这篇文章。
近来的一些文章没有标注来源,是我的失误,很抱歉。总之非常感谢诸君的监督与指正!