2003/12/1

Sound.ID3測試

所謂id3,各位聽過mp3的人都知,id3是儲存歌曲相關資訊的標籤格式,以winamp為例,在歌單上點選歌名,按右鍵選"檔案資訊",就可看到此歌的id3資訊。
在flash中也可調用id3資訊,透過下列方式:


就可得到歌名

*注意:中文不支援,即使用了System.useCodepage = true;也一樣。
*04/11/30追加:亂碼問題解決方案by云開

上面songname是一種屬性,其所有屬性如下

comment:註解
album:專輯
genre:類型
songname:歌名
artist:歌手
track:曲目
year:年份

以上是一個簡單的介紹,但若深入去研究它的help,會發現很多限制跟問題…
在Reading ID3 tags in MP3 files章節中提到:
Flash Player 7 supports version 1.0, 1.1, 2.3, and 2.4 tags; version 2.2 tags are not supported.

而取得id3資訊的指令也分兩種:大寫跟小寫,
例如:
my_sound.id3.comment

my_sound.ID3.COMM

其差別在於
小寫用於id3 version 1.0, 1.1 ,flash player6.0 r40後可用
大寫用於version 2.3 及2.4,flash player7後可用
小寫可用屬性如上述七種
大寫可用屬性有40種(真多啊~~)

所以請注意你的mp3的id3版本為何,有些是不支援的,像我的winamp是2.80中文版的,其ID3面板打開會分左右兩半,左半上面寫id3v1右半是id3v2,但測試結果,我用小寫的指令,卻抓到右半的id3v2,若我用大寫的指令,則抓不到東西。真是非常之奇怪

第二點很奇怪的
在help檔中,Sound.onID3單元中提到:
Description
Event handler; invoked each time new ID3 data is available for an MP3 file that you load using Sound.attachSound() or Sound.loadSound().
我想大概是說,這個onID3可用在以loadSound或attachSound載進的mp3檔案上,
但實驗結果是,只有loadSound的檔案叫得到id3,attachSound無效。

以上是我遇到的一些問題,如有人找出原因,麻煩指點一下。

沒有留言: