導航:首頁 > 操作系統 > android音樂播放器界面設計

android音樂播放器界面設計

發布時間:2022-11-16 07:03:02

⑴ 推薦一個android的音樂播放器,要求盡量小巧

輕聽播放器,界面特別漂亮,還很小巧,我的備用機多親手機,就安裝的這個,特別好用。

⑵ 我不會設計音樂播放器界面!請指點下

首先要適配合適的解析度和屏幕比率
再次根據相應的解析度設置界面布局,突出主要功能,比如音樂播放器就要突出播放界面,讓播放按鈕很容易點擊到,附加功能給出菜單或者設置面板
選擇合適的色調及注意整體搭配,界面力求簡潔並讓人耳目一新
其實,不同的人有不同的設計方向,但是最主要的是要迎合用戶,用戶需要什麼設計

⑶ 腦洞大開!學學那些高逼格的音樂播放器UI界面設計

環形音樂播放器

這款超級酷炫的HTML5音樂播放器是環形的,看起來好像是一個唱片封面,背景圖片很漂亮,設置了播放鍵、音量調整鍵、快進和後退鍵,可謂功能齊全、外觀靚美。還在苦惱不知道怎麼用HTML5設計音樂播放器的朋友可以學習一下。

超級帶感的HTML5音樂播放器

這個音樂播放器的背景全部是黑色的,但不是純黑,帶有黑色質感狀,外觀看起來非常酷炫。雖然整體看起來並不是很復雜,但是功能可不小。播放、暫停、快進、後退、音量控制一個都不少。

酷炫視頻播放器

這個視頻播放器同樣可以用來播放音樂、MV,這是一款UI界面設計非常出色的HTML播放器,整個界面非常簡單,好像在看一部電影大片,設置了播放/暫停、音量調節等,這款播放器最大的特點就是可以全屏觀看,支持視頻和音頻播放。

看了這么多酷炫的播放器設計,學習HTML5開發的朋友們,你們有什麼想法嗎?隨著HTML5技術的快速發展,越來越多的HTML5作品設計也更加酷炫。還會有更多有關HTML5作品設計的內容跟大家分享,大家請多多關注。

⑷ C# 音樂播放器 界面設計問題

使用動態素材

⑸ 安卓QQ音樂2017版本有什麼插件或者軟體讓QQ音樂進入界面就自動播放音樂,謝謝。

【IT168 資訊】伴和著曼妙的新年樂曲,我們迎來了嶄新的2008。但是打開電腦聽歌的那一剎那,你是不是感覺自己使用良久的音樂播放軟體老套了很多呢?無論你怎麼在線升級,更換皮膚、添加插件,都還是覺得它功能不夠全面實用,同時更滿足不了你時刻亮騷的虛榮心。看來,是該讓自己換個音樂軟體的時候了,那麼就跟我們一起來看看在過去的一年裡大家都在用什麼吧。 個性化功能成主流 有別於前幾年音樂播放器注重音質、音色的單方面考慮,07年出品的絕大多數音樂軟體都施以個性化的功能和用途。單從稱呼上,大家應該可以發現,我們已經不再用"播放器"這一叫法,一方面,是因為07年音樂軟體已不再強調播放這一簡單功能,而是著重去體現數字音樂與網路互動之間的關系;另一方面,我們也可以從音樂軟體的功能側重上一探國內數字音樂的發展趨勢,以及廣大用戶在用電腦聽歌方面的行為變化。 需要特別指出的是,由於數字流媒體以及高清視頻的廣泛普及,使得很多軟體都帶有播放視頻文件的功能。所以,在我們此次的歸納總結中,一並剔除了可以同時支持多種音視頻文件的多媒體程序,而僅考慮到專職於數字音樂的軟體,並且它們還應該是可以從網上免費下載的產品。 網路為家 在線聽 寬頻的普及和開機即聯網,使電腦用戶無論在單位還是在家都能享受到網路帶來的便利,所以07年的音樂軟體也把聯網使用作為它們最基本的運行條件,由此在線試聽也就成了廣大網民最為普遍的一種上網娛樂形式。 通常的在線試聽都不需要用戶另外再安裝軟體,提供此類服務的網站會直接在網頁里編寫相應的程序,而用戶只需點擊鏈接即可欣賞。比如:新浪樂庫的樂庫mini播放器、網路音樂盒(測試版)等等,幾乎每個音樂網站都會開辟在線試聽的欄目,而且他們基本上都可以做到即點即放,無需長時間的下載和等待。但是,一些試聽曲目並非完整呈現,這多半兒是因為服務提供商要考慮到歌曲的版權問題,而有些即便提供了完整播放,音質又往往差強人意。 所以在這里,我們推薦一款具有較完整曲目、並且功能相對齊全、使用也比較便捷的在線播放軟體,這就是QQ音樂播放器。它是一款需要簡短安裝的軟體,方法很簡單,只要開啟了QQ聊天工具,再點擊"QQ音樂"的圖標,程序即會自動提示安裝。而在騰訊網特別設計的樂庫里,該播放器提供了包括歌曲推薦、音樂心情、排行榜、分類索引、我的樂庫以及關鍵字搜索等多項功能。用戶可以自由的選取要聽的歌曲,無論是搜歌、下載還是播放都非常順暢自然,不愧是一款在線聽歌的利器啊。另外,QQ音樂播放器也能播放本地硬碟的歌曲,並可以全屏方式顯示歌詞,只是沒有了均衡器、音場效果等靈活多變的調音設置,使得聽歌效果受到一定局限,而且用戶必須注冊為綠鑽會員才能下載樂庫的歌曲,多少有些不方便。 喜歡音樂的人通常可以分為兩種:一種是喜歡聽歌,另一種就是喜歡唱歌,而音樂軟體的歌詞功能正是為後者准備的。可以說,音樂軟體發展到2007年,無論是播放線上音樂還是本地歌曲,歌詞顯示都是必備的功能,而獲取方式也基本都是從網上直接下載。剛才提到過,QQ音樂播放器支持全屏顯示歌詞信息,包括跟隨、變色等功能也都一應俱全,這非常利於用戶一邊唱歌一邊QQ聊天、看網頁或是作圖等。但是,從網上獲得的歌詞通常又不能保證其絕對的准確,像歌詞輸入有誤、節奏跟隨不同步等,都嚴重影響了跟唱的效果,所以這就需要音樂軟體必須具有強大的歌詞編輯功能。 一提到音樂軟體的歌詞功能,很多人都會自然不自然地想到千千靜聽。的確,作為一款音樂播放軟體,它的界面非常像大家熟識的WINAMP,從均衡器到播放列表,從歌詞秀台到視覺效果,千千靜聽都與WINAMP無比相似。此外,千千靜聽單為歌詞秀開辟的一整套解決方案就已經非常可觀了,它包括搜索、復制、調整、編輯、上傳、內嵌,就連歌詞顯示一項也細分為對方向、背景、隱現效果、繁簡字體、字元編碼進行設置的多個選項,並且它還支持滑鼠拖動定位播放等。由此可見,注重歌詞和經常唱歌的人選擇千千靜聽是肯定沒錯的。 "管"字當頭 驗真身 在07年之前,人們只是對音樂播放的品質非常看重,但是卻忽略了硬碟歌曲在日漸增多情況下的管理問題,而且從網路上下載的歌曲通常都是身份不明,這無疑為日後的查找歌詞及分類管理埋下了隱患。所以,07年音樂軟體廠商的一個明顯改變就是開始側重於歌曲的身份識別工作。在這里,客客通的聲紋識別技術最為成熟,而他們的KKTONE音樂管理軟體也為更多的用戶所熟識並使用著。 KKTONE是一款集音樂播放、信息顯示、管理查找、卡拉OK等功能於一身的音樂管理軟體。而拋開它的播放和歌詞功能不說,單就對歌曲的身份認證和文件管理就足以令人振奮不已了。它可以通過網路,對用戶本地硬碟里的任何一首歌曲進行聲紋識別,並且根據正確的歌曲身份添加相關的信息,比如歌曲出自哪張專輯、哪位歌手,以及查找正確的歌詞內容,甚至是專輯封面也可以顯示在軟體的播放欄里,而這對於那些喜歡用移動設備聽歌的用戶來說無疑是個天大的喜訊。並且該軟體還支持按照字母搜索本地硬碟的歌曲,根據歌曲的身份信息也可統一更改文件名。另外,配合互聯網應用,KKTONE還支持廣泛的網路搜索功能,並與新浪樂庫連接提供百萬首正版歌曲的試聽和信息檢索。可見,在07年使用KKTONE的用戶都是走在潮流最前沿的時尚人士,而超前的音樂管理理念 邊下邊聽 兩不誤 相對於在線聽歌的形式,還是有很多人喜歡把歌曲下載到本地硬碟上。一方面可以收藏起來隨時拿出來播放,另一方面也方便拷貝到移動設備上隨身攜帶、隨時聆聽。所以,使用下載和播放相結合的音樂軟體是07年音樂愛好者們的又一熱門體驗形式,而其中使用最多的兩款軟體就是酷狗音樂2007和網路網的百聽不厭。 酷狗網是目前國內最大的P2P音樂共享網站,旗下的酷狗音樂2007自然擁有龐大的用戶群體,該軟體融合了歌曲下載、播放和網頁顯示等多種功能,並以多源下載的方式來提高下載速度,同時擁有大量的娛樂資訊內容,而在線聊天、文件共享等功能也有效提升了軟體的可用性,所以是一款綜合能力很強的軟體。另外,為配合在線試聽的功能,酷狗網還開發了迷你酷狗播放器,以彌補酷狗音樂2007在音樂播放方面的不足。這款播放器既可以播放本地歌曲,也可以對酷狗網上的排行榜和熱門歌曲進行點擊收聽,同時通過歌手列表還可以查找該網為數可觀的庫存歌曲。總之,兩款酷狗軟體的配合使用將會為那些喜歡過網路生活的人帶來全方位的音樂享受。 百聽不厭可以說是為網路MP3量身定做的音樂軟體,它除了具備搜索、下載、播放、歌詞以及管理的功能外,最主要的就是能夠以一鍵方式批量下載網路網站上的各類專輯和網路MP3 TOP500歌曲排行榜里的歌曲。與酷狗音樂2007相仿的是,百聽不厭同樣採用了p2sp技術,支持斷點續傳和多任務下載,但是從實際使用來看,其下載速度並不是很快,而且不支持邊下邊聽。不過,可以下載鈴聲以及免費送歌功能還是相當實用的。

⑹ 基於android的MP3音樂播放器界面布局如何設計

主屏幕顯示歌詞或曲譜或專輯信息,邊緣顯示音量,進度,暫停,快進快退等,不需要是可隱藏

⑺ android音樂播放器的測試怎麼寫

軟體工程資料庫課程設計——測試報告 1 引言 1.1 編寫目的 編寫該測試報告主要由以下幾個目的 1.通過對測試結果的分析,得到對軟體質量的評價 2.分析測試的過程,產品,資源,信息,為以後制定測試計劃提供參考 3.評估測試執行和測試計劃是否符合 4.分析系統存在的缺陷,為修復和預防 bug 提供建議 1.2 背景說明 說明: 1. 被測試軟體系統的名稱:android 音樂播放器 2. 該軟體的任務提出者:android 老師。 1.3 定義 嚴重 bug:出現以下缺陷,測試定義為嚴重 bug 系統無響應,處於死機狀態,需要其他人工修復系統才可復原。 點擊某個按鈕後出現「 Unexpect error,the application has been stopped」或 者返回異常錯誤。 進行某個操作後,出現「 Unexpect error,the application has been stopped」 或者返回異常錯誤。 當切換音樂時,出現」 Unexpect error,the application has been stopped」或 者返回異常錯誤。 1.4 參考資料 列出要用到的參考資料,如: 1. 2. 《android 需求和實際和說明書》 《android 項目數據字典》 第1頁 軟體工程資料庫課程設計——測試報告 3. 《android 後台管理系統測試計劃》 4. 《android 項目計劃》 5. 《android 程序設計基礎》 2 測試概要 Android 音樂播放器系統測試從 2014 年 5 月 25 日開始到 2014 年 6 月 1 日結束, 共持續 6 天,測試功能點 6 個,執行 10 個測試用例,平均每個功能點執行測試用例 2 個,測試共發現 5 個 bug,其中嚴重級別的 1 個,無效 1 個,平均每個測試功能點 1 個 bug。 3 測試結果及發現 3.1 測試 1(功能鍵測試) 在本次測試中對各個功能鍵進行了相關的測試,並把各個功能鍵該有的功能給體現出來。 最後的測試結果是,各個功能鍵基本符合預想的要求,但是在測試中間,不時會出現一些系 統錯誤。 3.2 測試 2(音樂清單測試) 在對音樂清單模塊進行測試時,先了解音樂清單的具體功能的體現與要求。音樂清單模 塊具備自動掃描功能,自動更新,刪除重復,刪除錯誤功能。測試過程比較繁瑣,不停更換 音樂,增加重復音樂,增加錯誤來對該項進行測試。對音樂清單界面轉變,字體等還需改進。 4 對軟體功能的結論 4.1 功能 1(功能鍵) 名稱:播放 參與者:用戶 目標:用戶點擊播放音樂列表中的歌曲 前置條件:播放器正在運行 基本事件:1.用戶單擊列表中歌曲 2.播放器將播放列表中的點擊 的歌曲 名稱:暫停 參與者:用戶 目標:使得用戶可以暫停正在播放的歌曲 第2頁 軟體工程資料庫課程設計——測試報告 前置條件:歌曲正在播放且未停止和暫停 基本事件:1.用戶單擊「暫停」按鈕 2.播放器將暫停當前的歌曲 名稱:上一首/下一首 參與者:用戶 目標:使得用戶可以點播上一首或下一首音樂 前置條件:歌曲正在播放或歌曲暫停中 基本事件:1.用戶單擊「上一首或下一首」按鈕 2.播放器將播放上一首歌曲或下一首歌曲 4.1.1 能力 本部分是對播放音樂時的一些簡單的操作,如播放,暫停,切歌。為滿足這部分功能, 進行不斷的測試已將可以預料到的錯誤,進行了修改,大體上不會再出現此類錯誤。 4.2 功能 2(音樂清單) 名稱:音樂列表 參與者:用戶 目標:使得用戶可以進入音樂列表 前置條件:程序在運行 基本事件:1.用戶單擊「音樂」分區 2.播放器進入音樂列表 4.2.1 能力 本部分是對音樂列表的功能的測試,此項目的音樂列表的基本功能可以實現。對於一些 界面方面的操作,在測試中始終出現錯誤,排除不了。相對來說測試是成功的,界面上的操 作與音樂播放器的主要功能沒有影響,所以可以刪除此部分。 5 分析摘要 5.1 能力 Android 音樂播放器的測試今本上是成功的。對於一些基本功能,都能夠實現。本軟體的 可移植性還是比較強的,只要是 android 手機都可以安裝本軟體,並且不會出現系統不兼容 第3頁 軟體工程資料庫課程設計——測試報告 的問題。最終的測試結果,也暴露了一些問題,與要求的差一些。就是在音樂清單部分,對 於字體的修改以及界面的轉換方面沒有完全實現。本軟體本就是 android 軟體,在測試環境 與運行環境上不存在差異,這完全是因為 android 太強大了。 5.2 缺陷和限制 1. 缺陷描述:音樂清單有亂碼,音樂無名稱,查看不方便 缺陷影響:其他音樂都有名稱,音樂無名稱,查看不方便 推遲原因:目前的日誌 為了調試方便,顯示了很多其它信息,在項目正式發布時會統一處理的。 2. 缺陷描述:數據字典種類修改,默認值設置後,在調用該數據字典種類的數據字典, 默 認值無顯示 缺陷影響:數據字典種類的默認值設置後,不能顯示設置的默認值,相當於數據字 典種類默認值設置功能未實現 推遲原因:該功能暫時不好實現,需要和和系統的默認語種一起處理。 3. 缺陷描述:多媒體添加,文件上傳功能未實現 缺陷影響:文件上傳功能未實現 推遲原因:該功能暫時不好完成,在下個版本中完成 5.3 建議 在項目開始的時候應該制定編碼標准,資料庫標准,需求變更標准,開發和測 試人員都 嚴格按照標准進行,可以在後期減少因為開發,測試不一致而導致的問題,同時也可以降低 溝通成本。 發布版本的時候,正確布置測試環境,減少因為測試環境,測試資料庫數據的 問題而出 現的無效 bug。 開發人員解決 bug 的時候,填寫 bug 原因以及解決方式,方便 bug 的跟蹤。 開發人員在開發版本上發現 bug,可以通知測試人員,因為開發人員發現的 bug 很有可 能在測試版本上出現,而測試人員和開發人員的思路不同,有可能測試人員沒有發現該 bug, 而且,這樣可以保證發現的 bug 都能夠被跟蹤。 。 5.4 評價 本軟體經測試,可以在任何 android 設備上運行,安全性得到了保證,可以交付使用。 第4頁

程序員簡歷項目經驗怎麼寫好

項目 經驗 是程序員個人簡歷的重要構成部分。以下是我精心推薦的一些程序員簡歷的項目經驗 範文 ,一起來學習下吧!

程序員簡歷的項目經驗範文(一)

項目一:九龍悠久資源管理系統

開發環境:Windows2003 + MyEclipse5.5 + SQLServer2000 + Tomcat6.0

開發技術:Struts + Hibernate + Spring

開發日期:2008年5月—2008年7月

項目描述:系統採用基於J2EE平台的多層架構模式,JSP充分利用Struts框架提供的標簽開發視圖頁面,Struts的Action組件進行流程式控制制,處理業務,使用ORM框架Hibernate實現數據持久化,以面向對象的方式進行系統設計,採用Spring IoC進行業務組件的組裝,系統也更容易維護。商品銷售經營中,經常需要進行商品的入貨、出貨、清點、退貨、結帳等業務,但由於商品品種繁多,業務量大,使用手工方式管理不僅工作量大,而且很容易出現各種失誤,導致工作效率低下。使用本軟體可提高工作效率和管理水平,降低經營成本。

責任描述:主要負責商品銷售和查詢統計:商品銷售主要涉及到銷售和退貨,首先商品銷售需要選取客戶和商品,是從另一個列表頁面讀取的,是通過在頁面編寫javascript腳本語言實現的。也可以輸入商品編碼,頁面會自動填寫商品的基本信息,使用Ajax發送請求完成。輸入銷售數量,則會自動計算金額(應收和未收款),通過javascript實現,保存成功後,根據商品類型和操作時間來生成銷售單號,同時對應商品的庫存量減少。辦理銷售退貨(商品有問題需返回廠家處理):同樣選退貨的客戶,選擇商品或輸入商品編碼,自動填寫商品基本信息(使用Ajax技術)輸入銷售退貨數量,自動計算金額如:應付和未付款(通過javascript實現)。保存成功,自動生成銷售退貨單號,同時對應商品的庫存量增加。查詢統計:主要實現按不同條件查詢商品的入庫及銷售信息,並對某一時間段的銷售情況進行圖表分析,主要使用JFreeChart技術來顯示圖表。

項目二: Naking溧水縣信息管理平台

開發環境: Windows2003 + MyEclipse5.5 + Oracle+ Tomcat6.0

技術描述: Struts2 + Spring2 + Hibernate3 + Ajax + JFreeChart + XFire

開發日期: 2009年3月 — 2009年9月

項目描述:主要就是針對南京溧水縣當地的房地產,建立的一個房地產稅收管理系統,主要有:稅源信息,納稅評估,行政執法,電子檔案,綜合查詢,系統設置,信息變更,地圖管理等模塊構成,稅源信息主要實現稅收管理員對土地、建安、增量房、存量房等交易信息的採集、補充、核實。核實後的信息由稅收管理員進行納稅評估,計算納稅人應該上繳的稅務之後就進入行政執法,對違規的信息進行處理。縣級管理員登錄系統後則可以通過電子檔案和地圖對稅源信息,項目進度和納稅評估進行綜合查詢,對違規的信息進行處理。JSP頁面採用Struts2提供的標簽庫實現數據的顯示和與用戶的交互,通過Struts2的Action進行客戶端與伺服器之間的數據傳輸,採用Hibernate3進行數據的持久化,Spring2的IOC技術則對控制層和模型層進行解耦,同時採用AOP動態代理Hibernate3中的事務處理。

在首頁基於MapEasy技術再度開發了稅收行政區域的地圖,便於更加直觀的對土地和項目進行標注和管理。在頁面中大量的使用了Ajax技術實現頁面與伺服器的無刷新非同步通信,給用戶帶來更加美好的視覺享受。

責任描述:主要負責的是稅源信息採集和納稅評估(建安環節,不動產環節)。以不動產為例介紹:採集不動產交易信息,包括項目基本信息,交易基本信息,納稅人基本信息,選取納稅人和項目信息是通過談出子窗體選取相應的信息,在頁面除了基本的驗證外,使用Ajax技術進行同名檢測,巡查後的信息可補充,核實。核實後的信息有誤可申請信息變更來修改相關的信息,核實是根據不動產交易信息生成不動產樓棟下的房屋平面圖,由此可知,樓棟有幾層,每層的房間數,對這些房可進行增量房交易,記錄(夠房者,夠房金額等),交易後的信息進行維護,征繳(計算納稅人應上繳的稅款)。稅款更新提供手動和自動兩種方式,手動需稅收員手工錄入上繳的稅款,自動更新是通過WebService向另一個交稅系統(實現前台服務納稅人交稅,查詢的功能,為地稅系統提供介面,處理請求)發送請求來提取納稅人交稅信息,避免稅收員重復輸入,提高了工作效率。

程序員簡歷的項目經驗範文(二)

時間:2015.4-2015.5

項目名稱:Ting-Android 音樂播放器

項目簡介:該款 App 界面設計使用的是 Material Design,遵循 Google 設計規范 , 界面開起來清新簡潔,目前 App 只能獲取 Ting 音樂社交網站上用戶分享的前 20 首歌曲 , 以及歌曲評論信息,App 可以在線播放從 Ting 網站上取回來的歌曲,也能播放本地歌曲,播放本地歌曲可以進行隨機播放、循環播放、單曲循環播放,使用到的開源庫有:Picasso、Volley、Gson等.

項目名稱:門窗 DIY 軟體-Android

該款軟體運行環境是安卓手機以及平板電腦,面向的用戶是門廠銷售人員,主要用來為客戶介紹展示門與門框款式,以及讓客戶進行門與門框的搭配並 收藏 起來,同時也能將收藏的搭配刪除 ,該款軟體有些圖片是綁定在安裝包當中的,當安裝完軟體第一次啟動時會把圖片寫入到 SDcard 當中,圖片取出來使用 Picasso 庫對圖片進行緩存處理.

時間:2014.9-2014.12

項目名稱:個人博客網站

該網站前台使用到BootStarp響應式框架,後台服務端主要使用Jsp+Servlet ,實現基本博客網站功能:發 文章 ,閱讀文章,對文章評論,博主管理所有文章,修改密碼,更換頭像.

程序員簡歷的項目經驗範文(三)

OA自動化辦公系統:

軟體環境:Apache Tomcat 5.0/MySQL /windows2003/jdk1.4.2

開發工具:Eclipse,Dreamweaver等開發工具

項目描述:該項目主要針對衡陽市環保局的自動化辦公,提高辦公效率。

1、項目主要採用當前流行的MVC模式,Struts+Hibernate+Spring框架(B/S)。

2、使用的技術: JSP 、Servlet 、JavaBean 、Hibernate、JNDI、XML、Struts、Spring等相關技術。

責任描述:

1、負責技術:相關JavaBean,Servlet,Hibernate持久層的編寫,配置,調試等負責部署整個webapplication。

2、負責功能為個人辦公,包括短消息,通訊錄等。

客戶關系管理系統(CRM)

1.開發環境:Apache Tomcat 5.0/SQLServer/windows2003/jdk1.4.2

2.開發工具:Eclipse ,Dreamweaver等開發工具

3.項目描述:基於J2EE平台,採用MVC設計模式及SSH(Struts+Spring+Hibernate)三個集成框架、B/S模式、SQLServer作為後台資料庫。

4.項目責任:本人主要負責營銷管理模塊及其顯示層的開發。

↓↓↓下一頁更多精彩 程序員簡歷的項目經驗範文 ↓↓↓

⑼ 網頁設計與製作音樂播放界面如何播放音樂

網頁設計與製作音樂播放界面需要在頁面中插入HTML5的音頻標簽audio,即可播放音樂。

工具/原料:

華碩DN20

win10

瀏覽器1.026

1、先打開常用的網頁設計的軟體,然後新建一個網頁文件。

⑽ 安卓一個音樂播放器的框架應該怎麼設計

JAVA的播放器源代碼 import javax.media.ControllerEvent; import javax.media.ControllerListener; import javax.media.EndOfMediaEvent; import javax.media.PrefetchCompleteEvent; import javax.media.RealizeCompleteEvent; import javax.media.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MediaPlayer extends JFrame implements ActionListener, ItemListener, ControllerListener { String title; Player player; boolean first = true, loop = false; Component vc, cc; String currentDirectory=null; // 構造函數,其中包括了設置響應窗口事件的監聽器。 MediaPlayer(String title) { super(title); /* 關閉按鈕的實現。。 */ addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); } public void windowClosed(WindowEvent e) { if (player != null) player.close(); System.exit(0); } }); // 調用程序菜單欄的方法成員完成菜單的布置 setupMenu(); setSize(400, 400); setVisible(true); } // 本方法用以設置程序菜單欄 public void setupMenu() { // 設置一個菜單 Menu f = new Menu("文件"); // 往設置的菜單添加菜單項 MenuItem mi = new MenuItem("打開"); f.add(mi); mi.addActionListener(this); f.addSeparator(); CheckboxMenuItem cbmi = new CheckboxMenuItem("循環", false); cbmi.addActionListener(this); f.add(cbmi); f.addSeparator(); MenuItem ee = new MenuItem("退出"); ee.addActionListener(this); f.add(ee); f.addSeparator(); Menu l = new Menu("播放列表"); Menu c = new Menu("播放控制"); MenuItem move = new MenuItem("播放"); move.addActionListener(this); c.add(move); c.addSeparator(); MenuItem pause = new MenuItem("暫停"); pause.addActionListener(this); c.add(pause); c.addSeparator(); MenuItem stop = new MenuItem("停止"); stop.addActionListener(this); c.add(stop); c.addSeparator(); // 設置一個菜單欄 MenuBar mb = new MenuBar(); mb.add(f); mb.add?; mb.add(l); // 將構造完成的菜單欄交給當前程序的窗口; setMenuBar(mb); } // 動作時間響應成員;捕捉發送到本對象的各種事件; public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub String cufile, selectfile, currentDirectory; if (e.getActionCommand().equals("退出")) { // 調用dispose以便執行windowClosed dispose(); return; } // 此事表明擁護選擇了「播放」命令; // 如果當前有一個文件可以播放則執行播放命令; if (e.getActionCommand().equals("播放")) { if (player != null) { player.start(); } return; } // 如果當前正在播放某一文件,則執行暫停; if (e.getActionCommand().equals("暫停")) { if (player != null) { player.stop(); } return; } // 停止命令的響應; if (e.getActionCommand().equals("停止")) { if (player != null) { player.stop(); player.setMediaTime(new Time(0)); } return; } // 用戶選擇要播放的媒體文件 if (e.getActionCommand().equals("打開")) { FileDialog fd = new FileDialog(this, "打開媒體文件", FileDialog.LOAD); // fd.setDirectory(currentDirectory); 2008-2-6 02:46 回復 肆方茉莉 62位粉絲 6樓 fd.setVisible(true); // 如果用戶放棄選擇文件,則返回 if (fd.getFile() == null) { return; } // 保存了所選文件的名稱及其路徑名稱已被稍後使用 // 同時設置當前文件夾路徑 selectfile = fd.getFile(); currentDirectory = fd.getDirectory(); cufile = currentDirectory + selectfile; // 將用戶選擇的文件作為一個菜單項加入播放列表,該菜單項名為該文件名; // 被點擊後給出的命令串是該文件的全路徑名 MenuItem mi = new MenuItem(selectfile); mi.setActionCommand(cufile); MenuBar mb = getMenuBar(); Menu m = mb.getMenu(2); mi.addActionListener(this); m.add(mi); } else { // 程序邏輯運行到次表示用戶選擇了一個「播放列表」中的媒體文件 // 此時可以通過如下動作獲得該文件的全路徑名 cufile = e.getActionCommand(); selectfile = cufile; } // 如果存在一個播放器,則先將其關閉,稍後再重新創建 // 創建播放器時需要捕捉一些異常 if (player != null) { player.close(); } try { player = Manager.createPlayer(new MediaLocator("file:" + cufile)); } catch (Exception e2) { System.out.println(e2); return; }/* * catch(NoPlayerException e2){ System.out.println("不能找到播放器"); * return ; } */ if (player == null) { System.out.println("無法創建播放器"); return; } first = false; setTitle(selectfile); // 設置處理播放控制器實際的對象; /**/ player.addControllerListener(this); player.prefetch(); } // 菜單狀態改變事件的響應函數; public void itemStateChanged(ItemEvent arg0) { // TODO Auto-generated method stub } public static void main(String[] args) { // TODO Auto-generated method stub new MediaPlayer("播放器"); } // 調用繪圖函數進行界面的繪制 // public void update() { // } // 繪圖函數成員 //public void paint(Graphics g) { // } public void controllerUpdate(ControllerEvent e) { // TODO Auto-generated method stub Container tainer = getContentPane(); // 調用player.close()時ControllerClosedEvent事件出現 // 如果存在視覺部件,則該部件應該拆除(為了一致起見,我們對控制面版部件也執行同樣的操作,下一次需要時再構造) if (e instanceof ControllerClosedEvent) { if (vc != null) { remove(vc); vc = null; } if (cc != null) { remove(cc); cc = null; } } // 播放結束時,將播放指針置於文件之首,如果設定了循環播放,則再次啟動播放器; if (e instanceof EndOfMediaEvent) { player.setMediaTime(new Time(0)); if (loop) { player.start(); } return; } // PrefetchCompletEvent事件發生後調用start,正式啟動播放 if (e instanceof PrefetchCompleteEvent) { player.start(); return; } // 本事件表示由於播放的資源已經確定;此時要將媒體的圖形conmopnent // 如果有顯示出來,同時將播放器player的控制顯示到窗口裡; if (e instanceof RealizeCompleteEvent) { // 如果媒體中有圖像,將對應圖像component載入窗體; vc = player.getVisualComponent(); if (vc != null) tainer.add(vc, BorderLayout.CENTER); // 將對應控制器component載入窗體; cc = player.getControlPanelComponent(); cc.setBackground(Color.blue); if (cc != null) tainer.add(cc, BorderLayout.SOUTH); // 有一些特殊媒體在播放時提供另外的控制手段,將控制器一並加入窗口; /* * gc=player.getGainControl(); gcc=gc.getControlComponent(); * if(gcc!=null) tainer.add(gcc,BorderLayout.NORTH); */ // 根據媒體文件中是否有圖像,設定相應的窗口大小 if (vc != null) { pack(); return; } else { setSize(300, 75); setVisible(true); return; } } } }

閱讀全文

與android音樂播放器界面設計相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:485
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:382
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163