① 音樂播放器的軟體原理
音樂播放器就是音頻來解碼器源的可視化操作界面,其實質是針對各種音頻編碼格式的解碼器。例如ape格式調用的是Monkey's Audio解碼器,flac格式調用的是flac解碼器,mp3調用的是lame解碼器。
大部分音樂播放器都支持多種音樂格式的文件,這是因為這些播放器將不同的音頻解碼器打包起來,並製作統一的播放界面,從而讓使用者能夠方便地播放和聆聽各種音樂。
正因為音樂播放器僅僅是將音頻解碼器打包,而同一種音頻的解碼方式又是固定的,因此理論上所有播放器的音質應當是完全相同的,並不存在音質最好的音樂播放器。 有些音樂播放器會在解碼器的基礎上添加DSP插件,對原始的音樂進行轉換和扭曲,以迎合人們的喜好(如加強低音或過濾細節),美其名曰優化音質以獲得天籟之音,實質卻是破壞原本音樂,雖然能夠使部分音樂更好聽,卻也導致另一些音樂音質大打折扣。
音樂播放器的人性化界面和擴展性才是各種音樂播放器的特色所在。 大部分商業版播放軟體往往將界面打造得非常華麗,操作也十分簡便,但卻缺乏擴展性,支持格式較少。開源播放軟體一般能夠較好地進行擴展,支持較多的音樂格式,但往往界面樸素,難以吸引用戶。
② 這樣的音樂播放器怎麼做(帶圖)
第一次回答可獲2分,答案被採納可獲得懸賞分和額外20分獎勵。樣的音樂播放器怎麼做
③ 這個是什麼音樂播放器或者這個圖是怎麼做出來的求解答!!!!!
這是主題元素吧
④ 音樂播放器的頻譜圖跟示波圖代表什麼
頻譜圖顯示的是來20Hz到20kHz的自DB分布,可以理解為響度分布情況,也就是俗語中的音量,一般採用fft計算得到
那個波形圖有時也是一條譜線,有時則是還原出來的喇叭供電電壓信號波形,當然也可以看成是聲音波形
⑤ 音樂播放器的後台功能主要完成什麼任務
後台主要功能是Service在跑,後台服務負責解析數據,播放音樂,保證持久播放,還有業務邏輯處理。
⑥ 音樂播放器要有哪些功能
播放 、 快進(上一曲)、 快退(下一曲)、歌詞顯示 、列表、添加、刪除、模式、音量、均衡器、播放背景、顯示頻譜、播放時間、播放列表、分類列表、查找等基本就夠了,除非你要做很復雜的。這些就夠了。
⑦ 安卓一個音樂播放器的框架應該怎麼設計
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; } } } }
⑧ 音樂播放器界面
嗨!
您好,這個是音樂的專輯的界面的
更詳細的描述問題有助於網友理解你遇到的麻煩,幫助你更准確的解決問題。謝謝你支持小米手機!
⑨ 手機音樂播放器的功能是什麼
喔...親啊...你說的手機音樂播放器,是說的手機自帶的播放器還是第三方軟體呢?
先說說手機自帶播放器吧.
比如諾基亞的XpressMusic
Player和索愛的Walkman
Player,是手機自帶用來欣賞音樂,視頻,以及聯機購買鈴聲,音樂,視頻,流媒體等媒體格式的一款軟體,不允許刪除.一般不顯示歌詞,不過有的比如XMP支持頭像顯示.
而第三方播放器軟體,比如QQMusic2.0和酷狗叮咚,RealPlayer等等,是第三方軟體公司來開發的用來欣賞音樂,鈴聲,以及可以顯示歌詞(就像隨身的卡拉OK機)的小型軟體,一般不支持視頻,但是可以顯示歌詞.允許用戶自行刪除,可以聯網購買音樂等內容.一般來說手機播放器酷狗叮咚和天天動聽比較好哦!~
希望我的回答會對您有所幫助!~
也希望您能採納我的答案!~