Skip to main content

[AIR] 蕭可愛第三發:Jam's mp3 player



其實這個 Mp3 player 到發表前已經改過很多版本,最後一次修改原因是七月底到資訊展閒晃,很神奇的被說服買了人生的第一台 Macbook pro,經過了兩三天 Mac OS 的文化衝擊,深深的覺得蘋果的 UE( user experience) 不是玩假的。說實話我的下一台電腦應該還是會繼續買 Mac(希望台灣蘋果能便宜點...= =)。體驗到 Mac OS的直覺操作,手上斷斷續續寫很久也不知道在寫什麼的 Mp3 player 半成品毅然決然的打掉重做,使用工具從 Flash 改為 Flex 來開發。

由於 Erin 超超超超喜歡 蕭敬騰 的歌聲,想當然爾還是以他為主題發表了(滿足小小歌迷的一點心願) 。這個 Mp3 player 最大的特點便是簡單使用,簡化一切功能,沒有儲存功能,沒有複雜的設定,就是方便使用者一開啟程式只需要將想聽的 Mp3 直接拖拉到視窗內即可自動循環播放,不想要的檔案直接拖曳 List 項目到程式視窗外即可刪除。伸縮視窗的概念是由某國外 AIR 發表會所展示的 Fun with Abode AIR ,當初看到這段影片是先模仿寫出類似的 Flv player (但未發表) ,才將相同的模式複製到這個 mp3 player。

Jam's mp3 player v1.0
This is a FREEWARE that base on Adobe® AIR™ Runtime
使用的圖像版權屬影像所有人華納國際音樂股份有限公司、喜鵲娛樂有限公司所有
**如果圖像使用有任何問題請聯絡我**


線上下載安裝:

Please upgrade your Flash Player
This is the content that would be shown if the user does not have Flash Player 6.0.65 or higher installed.


如果上面步驟無法安裝請確認您有安裝好以下軟體:
This application requires the following be installed:
Adobe® AIR™ Runtime
Jam's Mp3 Player

操作說明:
  1. 可拖曳與播放的檔案格式為:.mp3 .png .jpg .gif(僅呈現第一格)

  2. v1.0版的圖片類只會隨著歌曲變換(並無影像播放設定)

  3. 滑鼠右鍵MENU

  4. 影片中的 Mp3 為正版「蕭敬騰 同名專輯」 CD 轉存,請愛用正版音樂!!


冏 影片拍的很爛...因為沒有找到好用的Mac版螢幕錄製軟體

Creative Commons License
著作 係採用創用 CC 姓名標示-非商業性-禁止改作 3.0 通用版 授權條款授權.

Comments

  1. 哈嚕!!
    Erin's 大大您好:
    小弟最近剛開始接觸 Flash air,
    希望能多練習像您這樣的範例,
    不知道您是否可mail此檔的原始檔(fla)呢?
    以供我學習~~ 誠心求檔~由衷感謝!!
    以下我的信箱(mail):
    xyzboy700606@hotmail.com
    =================================

    ReplyDelete

Post a Comment

Popular posts from this blog

[Swift3] weak 與 unowned 關鍵字

雖然在 Swift 中看起來"很像"是不需要煩惱內存管理的問題,不過實際上它還是遵循著自動引用計數 (ARC) 的規則,當一個物件沒有被其他對象引用時會自動被銷毀,如果三魂七魄沒有完全回位的話,就會有個靈體留在現世的空間裡,最經典的範例如下: 閉包(Closure)引用 classClassA { typealias Complete = ()->() var name : String var onComplete : Complete? init(_ name: String){ self.name = name print("Hello I am \(self.name)") onComplete = { print("\(self.name): onComplete!") // --> 閉包引用 self, 計數 + 1 } } deinit { print("deinit: \(self.name)") } } var a : ClassA? = ClassA("A") // --> 引用計數 + 1 a = nil // 2-1 = 1 還剩下 1 所以沒辦法銷毀 ---output------- Hello I am A 由於這邊的 onComplete 宣告為 Optional, 正確的做法要連同 onComplete 一起刪除才可以被回收,若不是 Optional 則會進入無法回收狀態: var b : ClassA? = ClassA("B") b?.onComplete = nil // --> 還好是 Optional 可以設成 nil 計數 - 1 b = nil // 計數 = 0 所以被回收 ---output------- Hello I am B deinit: B 但是做人不需要煩惱太多,這時候就出動 unowned 關鍵字讓物件可以順利被回收: onComplete = { [unowned self] in print...

[書評] 拖延心理學:為什麼我老是愛拖延?是與生俱來的壞習慣,還是身不由己?

作者: Jane B. Burka & Lenora M . Yuen 推薦指數 ★★★★★ 有時候,只是想了解事情發生原因而不是尋求解法 在這邊不是要講這本書的內容,而是想聊它對我的影響。