① 音乐播放器的软件原理
音乐播放器就是音频来解码器源的可视化操作界面,其实质是针对各种音频编码格式的解码器。例如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机)的小型软件,一般不支持视频,但是可以显示歌词.允许用户自行删除,可以联网购买音乐等内容.一般来说手机播放器酷狗叮咚和天天动听比较好哦!~
希望我的回答会对您有所帮助!~
也希望您能采纳我的答案!~