導航:首頁 > 音樂推薦 > android音樂播放器界面設計

android音樂播放器界面設計

發布時間:2021-03-16 15:31:56

㈠ 2013年,各種主流音樂播放器的界面交互設計為什麼都把停止功能鍵舍棄了呢設計初衷到底源於哪裡

現在主流播放器都把停止鍵給舍棄,但是要注意到,它們都保留暫停鍵。專實際上停止鍵在功能屬上與暫停鍵是一樣的,操作結果都是把音樂給終止。停止鍵與它唯一的不同在於按下停止鍵後,時間軸會跳轉到音樂的開始位置,而暫停鍵按下後,時間軸並不會發生這樣的跳轉。但是這樣的功能,實際上用戶只要用滑鼠在時間軸上點擊一下開始位置就能做到了,停止鍵既不能減少操作次數,又不能帶來新的功能,被舍棄也是理所當然的事情了。

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

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

㈢ 安卓音樂播放器主頁面和播放列表設計流程怎簡單介紹一下

首先你要 確定手機里裝有音樂播放器 是在手機內存不是在存儲卡 然後在桌面長按之後會彈出一個框子就選小工具再選你要添加的播放器

㈣ 如何利用qt creator設計音樂播放器的界面

嗯 現在我也在學習qt creator ,你把按鈕設計好之後 , 你就要開始定義這些按鈕了。就該使用到信號與槽的知識了。

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

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; } } } }

㈥ 如何一步步設計開發一款音樂播放器App

OooPlay 是一款極簡音樂播放器,本文是產品原型設計培訓師、OooPlay 設計者尹廣磊的分享,文中詳細闡述了OooPlay在產品原型設計和開發過程中的思維演化方式以及產品心路歷程,在此分享給感興趣的讀者。

先談談主體設計

在開始談論如何設計出這款應用之前,先來看看OooPlay這款應用的演示視頻讓大家有個直觀的了解。看過視頻之後,因為布局或交互方式也許大家會覺得有一點酷的感覺,但本質上我們未不是在追求酷的感覺,而是始終在圍繞功能做一款隨性而緊湊的產品設計。

那下面就來還原一下,是如何一步步遞進到現在的設計結果的:

首先,iPhone自帶的音樂播放器不方便在列表上試聽歌曲,一點擊就會進入到另一個播放界面。這樣想試聽幾首歌曲的話需要頻繁點擊「返回」。後來注意到有這樣一款應用Panamp是在列表上直接播放的就很方便,只可惜這款應用不常用到的功能比較多,所以算不上精簡和巧妙的設計導致特色不是很突出。我想從最初的角度出發如果讓它能夠是列表的形式並能聽歌的話,只需要一個列表和播放暫停按鈕就夠了。就像下面的草圖這樣:

然而僅僅這樣是不夠的,因為隨著列表的瀏覽和滾動,如何能夠快速回到正在播放的歌曲上就變得重要,所以需要在列表的頂端或底端能有一個按鈕,可以快速定位到正在播放的歌曲上。想到必須要有這么個東西,那麼加什麼元素才能顯示不突兀多餘,又能跟整體的簡潔風格比較和諧呢?於是想到歌曲的CD畫面對於反 映正在播放的歌曲是誰很重要,而且CD畫面還能消除一些軟體界面的單調。

另外,播放中時還應該有一些動態效果以體現出正在播放中的狀態來。基於這些功能和元素的結合,想到了用CD圓盤來顯示「CD畫面」,用圓盤的轉動來 體現出「正在播放中」,用點擊圓盤的邊緣來回到「正在播放的歌曲」,這樣才算達到了一種「緊湊」的設計。後面就是把播放、暫停、上一首、下一首這樣最常用的功能,融入到CD圓盤的旁邊。如下圖這樣

然而,細想之下只有這些還是不夠,因為搜索歌曲雖然不常用,但是當需要用到時不能讓用戶從幾百首歌里找不出那首歌曲來。所以需要有搜索功能,後面意識到還不止,還有隨機、單首循環等,那麼把這些功能加在什麼位置?加在頂部嗎?底部已經佔用比較多的高度了,加在頂部一下子就會擠壓到中間內容的空間,同 時讓簡潔的感覺盪然無存。我就創造性的在紙上嘗試著畫了一個側欄,把搜索、隨機、單首循環放在上面。

因為覺得歌曲列表的寬度壓縮一點沒關系。沒想到這樣放的效果不錯,同時這種非對稱的設計讓CD圓盤待在那個位置特別恰當。我不想把CD圓盤放在中間那樣毫無新意的表達方式。於是有了下圖:

這樣基本的布局有了,然後繼續去細化一些功能。我個人經常聽到一首歌突然很有感覺,就想到手機里還有這個人的另外一首歌也很不錯,就想去聽一下。所以,需要有個功能可以通過一首歌找到這個人的全部歌曲。於是在歌曲名稱的後面增加一個「小人」圖標,可以搜索這個演唱者的其它歌曲,使用搜索的方式也是為 了不額外增加界面,同時把「搜索」這么一個不常用的功能也變得常用了。

另外,很多播放器都有了定時結束播放的功能,以便於睡覺前聽著音樂入睡。我也增加了此功能,從常用的角度只保留了30分鍾和60分鍾兩個時間檔(沙漏是倒計時結束播放)。再有就是為軟體的「關於」保留一個入口,還有因為我有藍牙立體聲耳機所以增加了AirPlay功能的支持(無AirPlay設備時 不出現此圖標)。於是就有了下圖:

其實,在只有列表的時候我就想到讓音樂可以左右滑動以置頂置底了。這個是受Clear應用視頻的影響,Clear的設計方式真的帶給了設計師一些新的思考方向。本質上那種重要的信息偏靠上不重要的信息偏靠下的內容,都可以採用這種方式處理。

我個人覺得,音樂就可以恰當的使用這種方式,那些因為心情等暫時不想聽的歌曲直接右滑就可以置底,意思是「死的遠遠的」,那些比較關注想多了解的歌 曲就可以左滑把它置頂,這樣最方便找到。這樣隨性的處理,就可以讓上面的歌曲偏好聽,下面的歌曲偏不好聽。這是其它音樂播放器所做不到的,況且它使用起來是如此的簡便,這也是這個播放器最大的亮點。

同時,由於把想關注的歌曲左滑置頂了,所以也不需要再保留自帶播放器「播放列表」的功能了,因為接近頂端的位置就算是播放列表了。而且我總覺得過去「播放列表」的方式,把歌曲在多個列表間移來移去過於機械化,一點也不隨性和簡便。歌曲左右滑動見下圖:

我並沒有保留可以拖動歌曲排序的功能,因為單手那樣操作並不容易,即便要雙手來這樣操作那大概也是有強迫症思維的人才會去刻意組織每一首歌的排序。「刻意」就違背我「隨性」的原則,況且按住並拖動歌曲也會大大增加誤操作的機率。

至此該應用主要功能的設計過程應該介紹完了,簡單總結為三點:

在列表直接播放,可以快速試聽歌曲。

左右滑動可以將歌曲好聽與否快速分開。

點擊演唱者圖標可以快速查看該演唱者歌曲。

因為手機有側鍵可以控制音量,所以沒有在軟體界面上保留音量控制。聽音樂時沒想到還需要進度條,所以沒有進度條控制,不過跟自帶播放器一樣你可以按住「下一首」來快進歌曲(同時支持線控方式)。 因為OooPlay播放器只有一個主界面且全圖標設計,不需要額外的翻譯即可全球發行。基於全球用戶這樣一個市場,無法提供比較靠譜的聯網顯示歌詞服務。加上用戶iTunes自帶的音樂多數不帶歌詞且無法逐句定位顯示,所以綜上原因我們也舍棄了顯示歌詞的功能,就讓隨性的音樂響起,不必在意他唱的每一句都 是什麼。

再談談細節

為了把產品做到接近於完美,OooPlay極簡音樂播放器還有很多細節做了精心的處理,下面列舉幾點(部分內容在之前文章中介紹過,已經了解的可直接跳過):

正在播放的歌曲如果右滑,那表示不想聽,所以此歌曲會停止播放並置底,然後開始播放「下一首」歌曲;如果是正在播放的歌曲左滑,表示好聽 或想關注,所以不能夠停止播放。該歌曲需要置頂,但是該歌曲需要留在原來的位置上,因為當該首歌播放完以後需要播放下面一首歌,而不能去播放頂上的第二首歌,因為那些可能是從上聽下來剛剛聽過的歌曲。

左右滑動是全局性的操作,在任何搜索結果中左滑過的歌曲,回到所有歌曲列表時依然能夠在最上面找到,不必擔心只有回到那個搜索結果才能在上面找到。

不是所有歌曲後面都顯示演唱者圖標,只有某演唱者在庫中的歌曲數量在1首以上時才會顯示,因為如果該演唱者只有一首歌曲的話,你再去搜索也沒有意義了,避免你搜索完發現還是只有一首歌曲而失望。

隨機播放時的演算法做了特殊處理,曲庫如果有10首歌以上,最下面1首歌隨機時不會被播放到;如果有20首歌以上,最下面2首歌不會被播放到。以此類推最多會有30首最下面的歌隨機時不會被播放到。避免你隨機播放時還是會聽到你最近不想聽的歌曲。

列表的方式會有誤操作的可能,如果你錯點了一首歌曲,可以在5秒鍾以內按「上一首」,就可以回到剛才聽的歌曲,並且從斷開的位置繼續播放。5秒鍾以後,說明你大概不是誤操作,再按「上一首」就會正常跳到「上一首」歌曲上。

當一首歌快唱完的25秒以內,也就是歌曲高潮基本唱完的時候,如果你按「上一首」按鈕,會重新播放當天歌曲。因為當快唱完的時候你按「上一首」大概是這首歌曲聽著很爽,想再來一遍。iPhone自帶的播放器是開始播放3秒鍾以後,按「上一首」重新播放當前歌曲。

如果你新同步了5首歌進到手機里,新同步的歌曲會排在原來所有歌曲的最上面。你新同步進來的歌曲大概就是馬上想聽下它們吧,所以把它們放在最上面。你原來那些歌曲的排序也都保留了,不會因為同步而讓你所有歌曲重新排序。

正如你看到的,從啟動畫面開始我們就做了連貫的動畫銜接,讓每一層含義都清晰可辯。

我們不想單單為了讓你看一下無用的「關於」信息就多佔用一個界面,所以在那裡我們的「夜間模式」還能給你最後一層驚喜。

開發過程大致經歷了以下幾個階段:

2013-01-21 受到DailyCost激發,決定要從音樂播放器角度做個產品。

2013-01-22 上午紙上完成草圖,晚上製作出了最初的主原型界面。

2013-01-24 經朋友介紹找到我應用的開發者 rexshi,28日找到界面設計 soioi。

2013-03-03 過完春節並完成所有原型細節,回到北京。

2013-03-16 溝通完各項工作,開始進入開發階段。

2013-05-15 主體開發功能完成,放出了一個開發者版本的演示視頻。

2013-05-24 發布了一個公測的預覽版本。

2013-06-14 提交AppStore審核。

2013-06-21 OooPlay審核通過上線,當天達到付費音樂榜第7名,次日達到第3名。

手機音樂播放器ui設計用什麼做

UI設計都是用PS做的,偶爾也會拿AI做。

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

  1. 首先來要適配合適的分源辨率和屏幕比率

  2. 再次根據相應的解析度設置界面布局,突出主要功能,比如音樂播放器就要突出播放界面,讓播放按鈕很容易點擊到,附加功能給出菜單或者設置面板

  3. 選擇合適的色調及注意整體搭配,界面力求簡潔並讓人耳目一新

其實,不同的人有不同的設計方向,但是最主要的是要迎合用戶,用戶需要什麼設計什麼~

閱讀全文

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

熱點內容
愛情圍牆歌詞 瀏覽:230
道奇酷威廣告背景音樂 瀏覽:106
比喻輕音樂之美的文字 瀏覽:542
小號音樂下載 瀏覽:578
歌曲專輯圖下載地址 瀏覽:867
財神駕到歌曲mp3下載 瀏覽:734
琴歌指彈海闊天空吉他譜 瀏覽:355
下載mp4格式的音樂 瀏覽:352
電腦聽音樂用什麼 瀏覽:512
最好酷狗音樂播放器 瀏覽:502
信樂團隊的假如簡譜 瀏覽:243
平安酷狗音樂 瀏覽:760
佳人輕撫桃花mp3下載 瀏覽:453
infinite網易雲音樂 瀏覽:844
歲月趙忠祥背景音樂 瀏覽:980
如何將電腦的歌體添加到蘋果音樂 瀏覽:672
fade鋼琴mp3 瀏覽:86
奔跑吧兄弟宋仲基背景音樂 瀏覽:806
成都彩虹小學音樂老師 瀏覽:496
鳳凰傳奇星光歌曲點評 瀏覽:930