原标题:Axure教程:音乐播放器中,带时间的进度条/歌词颜色变化/旋转元件

本文以QQ音乐为例,实现了带时间的进度条、歌词颜色变化、唱片旋转、暂停播放等原型交互。

一、效果展示

体验地址:https://v0u9to.axshare.com

原型下载链接:https://pan.baidu.com/s/1jbrZnENr2MLZvzlWgIze-g 提取码:34gu

交互说明:点击播放、暂停按钮可实现原型的播放与暂停;左右拖动页面可切换唱片、全屏歌词页面。二、唱片旋转 1. 实现的效果

点击播放按钮时,唱片缓慢地围绕其自身中心旋转;点击暂停按钮时,唱片停止旋转。

2. 思路

可以通过循环面板来控制唱片的旋转。

(1)拖入一个374×645的矩形充当手机页面,并调整填充颜色;输入歌曲及歌手名称;添加一张歌手照片及圆形元件充当唱片,把该组合转化为动态面板,命名为“唱片”;添加一个名为“播放-暂停”的动态面板,该面板共有两个状态:暂停、播放,并通过圆形、三角形、垂直线等元件画出暂停、播放的按钮。如下图所示:

(2)拖入一个循环动态面板,命名为“循环1”,该循环面板共有2个状态。

(3)当点击暂停状态图标时,把“ 播放-暂停”设置为“播放”状态,并设置“循环1”动态面板循环,循环时间为400ms;当点击播放状态图标时,把“播放-暂停按钮”设置为“播放-暂停”为“暂停”状态,并把“循环1”动态面板停止暂停。

(4)设置当“循环1”面板状态改变时“唱片”动态面板顺时针围绕中心线性旋转10fx,线性时间也刚好是400ms。线性旋转400ms是与“循环1”的状态改变时间对应,而400ms刚好不快不慢。

三、带时间的进度条 1. 实现效果

点击暂停状态图标时,原型切换为播放状态,进度条每一秒前进一定的距离,与此同时“时间”文本实时显示已进度条的已播放时间;点击播放状态图标时,原型切换为暂停状态,进度条停止前进、停止计时。

2. 思路

点击暂停状态图标时,设置循环面板以1000ms的时间差循环改变状态;而循环面板每一次改变则会让“滑块”动态面板向右移动一定的距离,同时,循环面板的状态改变也会改变“时间”文本的值。

3. 交互设置

(1)拖入一条长为255的水平线,调整好线宽及颜色,命名为“底”,让其充当进度条的底色。

在“底”的顶层添加一个名为“进度条”的动态面板,在“进度条”的state1里面添加水平线及圆形元件,总宽度也是255,调整好颜色并转化为动态面板,该动态面板命名为“滑块”,并把“滑块”的x轴坐标设为“-240”好让滑块在页面初始时仅露出一个圆圈。

在进度条的两端分别添加两个文本来显示进度时间及总时间,左端初始值为0:00并命名为“时间”,总时间为1:00。

(2)拖入一个动态面板,共有两个状态,命名为“循环2”。当点击播放按钮时,设置“循环2”以1000ms的时间循环改变状态,并首个状态延时1000ms后切换。

(3)设置“循环2”状态改变时滑块移动:因为“滑块”的总移动距离为240、总移动时间为60秒,则每一秒移动的距离是4。因此设置如下事件。

(4)通过以上三步已完成了进度条的移动,现在来实现“时间”文本的显示。因为“循环2”每变换一次状态的时间是1000ms,而“时间”文本每变换一次值也是1000ms,所以这两者是对应的。而“时间”文本按字符串显示可分为三种情况:0:01~0:09、0:10~0:59、1:00。

为此,在【项目】【全局变量】设置全局变量“t”用来记录时间,当“循环2”每变换一次状态时t=t+1000ms。当t<10000ms时,“时间”的值=0:0[t/1000];当10000ms=

四、单行歌词的颜色变化 1. 实现交互

跟QQ音乐的单行歌词显示一样。

2. 思路

在QQ音乐APP中,歌曲的歌词颜色变化不是匀速的,而是由歌曲本身的音乐性来决定的。此案例中假定每行歌词里的颜色变化是匀速的。因此,可算出在1分钟内算出每行歌词颜色变化的所耗时长,再通过每行歌词动态面板的尺寸改变来实现歌词颜色变化的样式。

3. 实现过程

(1)拖入一个宽为141、高为16的动态面板,命名为“歌词”。宽为141是为了让所有的歌词行都能显示,高为16是为了仅能显示一行。在“歌词”的state1里加入八句歌词,调整好位置且垂直分布,记录每歌词的y坐标。

(2)把这八行每句歌词每行都复制一份,调整好颜色用来当作变色歌词行,并每把变色歌词的每一行都转化为动态面板,分别命名为:“1”、“2、“3”、“4”、“5”、“6”、“7”、“8”。变色歌词每一行都叠放在非变色歌词的正上方。

(3)把“1”~“8”动态面板的宽度设置为1、把非变色歌词设为白色且透明度为50%。以此,可通过改变“1”~“8”的宽度来实现歌词颜色随着歌曲的播放而改变的交互。把“歌词”state1里面的全部内容转化为动态面板,命名为“歌词1”。

(4)进度条的总时间1min,八句歌词的总宽是1016,所以平均每秒歌词颜色变化的长度为16.93。

又根据每行歌词的宽度可算出“1”~“8”句歌词的颜色变化耗时分别为:7.5s、7.5s、8.33s、7.5s、7.5s、8.33s、5.84s、7.5s。

因为歌词颜色变化是以1s为时间单位的,所以时间不能存在小数点,那么对于以上所述的所耗时长,是要向上取整数还是向下取整数呢?

如果是向上取整数的话,那么这八句歌词的总时长为64s,这显然不符合要求,所以设定这八句歌词的所耗时长分别是7s、7s、8s、7s、7s、8s、5s、7s。

(5)因为每行歌词的所耗时长已经向下取整数了,所以每1s在歌词里的每一行颜色变化的宽度就不再是16.93了。把每一行宽度除以时长,得出每一行在1s颜色变化的宽度为18.2、18.2、17.7、18.2、18.2、17.7、19.8、17.7,此处是向上保留一位小楼(如:如果是18.112就简化为18.2),因为如果向下保留一位小数则会导致在规则时间内完成不了每行所有的字颜色变化。

(6)“循环2”状态变化时,设置事件。如:当0

当7000

当22000

当36000

当49000

通过上述步骤,已完成了单行歌词的颜色变化,变化起始第1s,终止于57s。

五、全屏歌词的颜色变化 1.实现的效果

当向左拖动页面(代表向左滑)时切换为全屏歌词页面,向右拖动页面(代表左滑)时切换为单句歌词页面。全屏歌词的颜色变化交互样式跟QQ音乐一样。

2. 思路

以拖动页面切换动态面板状态来实现左右滑动;全屏歌词的颜色变化实现跟单句歌词类似。

3. 实现过程

(1)把“唱片”、“歌词”转化为动态面板命名为“主面板”,并添加state2。

(2)把“歌词1”动态面板的state1里变色歌词及非变色歌词都复制到“主面板”的state2,并调整好位置。把变色歌词分别命名为“11”、“22”、“33”、“44”、“55”、“66”、“77”、“88”。

(3)设置左右滑动时的切换效果。

(4)全屏歌词的颜色变化是跟单行歌词同步的。所以全屏歌词的颜色变化设置只需在单行歌词事件中设置即可。不同的是,全屏歌词里非第一行歌词的事件设置须加上把上一行变色歌词动态面板的宽度设置为1。具体设置如下图所示。

在上图中,每个case都有两个或三个设置尺寸的事件,其实在实际的原型制作中不必一步一步地设置尺寸,可在每个case里面一步到位地设置这两三个需要设置的元件尺寸,此处只是为了演示讲解方便而已。

至此,已完成了此案例的全部交互。

作者:稻草人,产品经理。

本文由 @稻草人 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议返回搜狐,查看更多

责任编辑:

java 歌词颜色变色_Axure教程:音乐播放器中,带时间的进度条/歌词颜色变化/旋转元件...相关推荐

  1. JAVA毕业设计vue开发一个简单音乐播放器计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计vue开发一个简单音乐播放器计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计vue开发一个简单音乐播放器计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目 ...

  2. android 音乐播放器中播放模式的设计

    在音乐播放器中,播放模式一般放在音乐播放完毕后自动识别,如下给出逻辑代码,可根据需要添加合适的代码 public static final int ALL = 0;//全部循环 public stat ...

  3. 音乐播放器中的跳动的平衡器

    完整的音乐Demo我放在资源上,利于解析原理.地址:http://download.csdn.net/detail/zhangli_/9421671 主要用到的平衡器的工具类代码: package c ...

  4. android 播放mp3 倒计时,Android实战 - 音心播放器 (MusicActivity - 倒计时 ,进度条实现)...

    1.背景 还是音乐播放界面,实现倒计时和进度条功能,基本实现过程: 当打开MusicActivity 的时候,MusicService会发送广播给MusicActivity ,后开始当前播放的时间进度 ...

  5. android倒计时水平进度条,Android实战 - 音心播放器 (MusicActivity - 倒计时 ,进度条实现)...

    1.背景 还是音乐播放界面,实现倒计时和进度条功能,基本实现过程: 当打开MusicActivity 的时候,MusicService会发送广播给MusicActivity ,后开始当前播放的时间进度 ...

  6. VB.net写的音乐播放器,带百度翻译歌词

    Imports System.Drawing.Text Imports System.IOPublic Class Form1Public RND As New RandomPublic g As B ...

  7. 安卓音乐播放器中歌词同步问题

    音乐文件是.lrc格式的,lrc格式的文件,是MP3播放器唯一能识别的歌词文件,在MP3播放器中可以去同步 显示歌词.它是一种包含着"[]"形式的"标签"的.基 ...

  8. java电脑桌面网易云界面,Javafx音乐播放器

    Javafx音乐播放器 介绍 这是款由纯java语言开发的在线音乐播放器,当然也支持播放本地的音乐,在本地音乐模块主要采用目前java最主流的音频标记库Jaudiotagger,可解析MP3文件头信息 ...

  9. Qt音乐播放器实现(带歌词功能)

    最近期末项目要写一个音乐播放器,作为新人头疼了好久,参考了各方文档,总算憋出来了一个,歌词功能用的是一个大佬实现的,然后我就调用了,就是我那个lyricwidget.cpp和头文件就是直接弄过来的,但 ...

最新文章

  1. 清华芯片研究再获顶会MICRO加持:软件定义芯片团队出品,最佳论文提名后又一突破...
  2. 这四大因素决定了中国将在2030年领先全球人工智能市场
  3. 【stanford C++】——2.C++中函数
  4. 【Android工具】安卓手机轻松获取硬件数据和状态信息
  5. python3.7正则表达式语法_python3正则表达式的几个高级用法
  6. 经营升级渐成影院运营主课题,怎样才能交出技术改造好答卷?
  7. RMAN之一:快速入门
  8. Java事务处理总结【JDBC事务|JTA事务|容器事务】
  9. c 语言 abs 库函数,absread,abswirte - C 语言库函数手册
  10. 给枚举值增加扩展数据
  11. php本机绿色调试,php本地调试工具下载|
  12. Windows查看端口占用
  13. 「CSDN 2020年度博客之星」总榜单在此揭晓
  14. Ubuntu 16.04安装Guake Terminal终端(使用一键唤醒功能)
  15. Python自动化(十二):一分钟搞定几百个Excel中查找的数据
  16. http协议的状态码——400,401,403,404,500,502,503,301,302等常见网页错误代码
  17. 阿里巴巴矢量图库的引用以及更新
  18. 2021年中国上市公司发明授权数量及分布:发明授权数量连续5年增长,广东省位居全国第一[图]
  19. 人工晶状体在线公式A常数优化——多线程
  20. Spring Boot Actuator自定义健康检查

热门文章

  1. 视图操作 第3关:在视图中插入、修改、删除数据
  2. 谈谈象棋的基本功《三》棋谱篇
  3. Linux_ntp服务
  4. r语言 转录本结构及丰度_肠道菌群:宏转录组测序分析流程解读
  5. 英特尔锐炫秒杀RTX 3060,XeSS现已支持超过35款游戏!
  6. docker之大数据平台搭建
  7. 从数据可视化到分析图:大数据如何影响建筑设计?
  8. Keil使用AStyle格式化代码
  9. 统信UOS卸载php7.2.24,安装php7.4.27 ;卸载再安装为PHP 7.2.34
  10. Swift学习:类和结构体