导航:首页 > 音乐推荐 > 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