android 歌词控件,歌词显示控件的实现上——歌词解析
最近打算仿网易云音乐的音乐播放器,除了网络框架、接口数据等这些外,最核心的就是音乐的播放和歌词的显示。
考虑到歌词显示控件涉及到歌词解析,自定义控件的实现等等诸多方面,可能文章的篇幅上会比较冗长,同时也为了方便自己和码友们能够根据自己的需求和爱好各取所需,将《歌词显示控件的实现上》这篇文章分成上、下两篇,分别是《歌词显示控件的实现上——歌词解析》和《歌词显示控件的实现下——歌词展示自定义View》。而今天将要分享的是上篇,主要讲解关于*.lrc文件的解析。
我们本文的目的是将lrc格式的歌词文件进行解析,并能将其展示到界面。
先看下效果:
ok,开始切入正题
一、了解歌词文件结构
写过音乐播放器的朋友可能都了解过歌词文件的规范格式,既然是歌词显示的控件,就必然需要清楚地了解歌词文件的组成规范,才能准确无误的解析歌词文件,得到我们想要的信息。
那我们先看一个最普通的歌词文件:
[ti:一个人的北京]
[ar:好妹妹乐队]
[al:南北]
[by:]
[offset:0]
[00:00.10]一个人的北京 - 好妹妹乐队
[00:00.20]词:秦昊
[00:00.30]曲:秦昊
[00:00.40]
[00:30.16]你有多久没有看到 满天的繁星
android 歌词控件,歌词显示控件的实现上——歌词解析相关推荐
- 触摸控件与显示控件介绍
1 显示控件和触摸控件 顾名思义,显示控件主要用于变量的显示,触摸控件主要用于配置触摸信息.每个控件都有独特的属性信息,依照需要进行设置. 显示控件: 有图标变量.数据变量.文本显示等,单页最多显示6 ...
- Android歌词显示控件TextView自定义
1. 音乐播放,音乐播放,音乐播放放入服务中,那么App 退入后台音乐也可以播放 2. 歌词显示控件TextView自定义: 使用控件TextView, 为什么不用Listview,歌词不可以 ...
- android lrc 歌词view,自定义View强势来袭,用自定义View实现歌词显示控件下篇之自定义LyricView的实现...
在上篇中,我与大家分享了关于如何进行*.lrc歌词文件的解析,以及将解析完成后的歌词展示在镶嵌在ScrollView中的TextView上,就这样而言,一个简单的歌词显示功能也就实现了. 但是,如何才 ...
- 自定义LyricView实现歌词显示控件
声明:本博客转载自郭霖微信公众号,优秀博客值得多次转播. 地址http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650236950&a ...
- java 显示多行歌词_Java Swing制作多行滚动歌词显示控件 | 学步园
首先上图一张,为最终制作的效果图,不喜欢或感到失望的朋友可以先行离开 大家已经看到效果图了.那么下面就介绍设计思路和源代码 首先要想显示歌词,就要对歌词文件进行抽象.下面这个类是对某一行歌词文件进行了 ...
- Android Studio Design界面不显示layout控件的解决方法
Android Studio Design界面不显示layout控件的解决方法 参考文章: (1)Android Studio Design界面不显示layout控件的解决方法 (2)https:// ...
- android自定义控件不显示,解决Android Studio Design界面不显示layout控件的问题
Android Studio更新到3.1.3后,发现拖到Design中的控件在预览界面中不显示: 解决办法: 在Styles.xml中的parent="..."中的Theme前添加 ...
- Android 时间显示控件 TextClock
Android 时间显示控件 TextClock TextClock可用作显示时间,API>=17,用来替代DigitalClock. 系统设置以24小时格式的时候使用这个format andr ...
- Android kotlin 将Base64字符串转换成Bitmap,并在jetpack compose的Image控件中显示
Android kotlin 将Base64字符串转换成Bitmap 前言 代码 将Base64字符串转换成Bitmap 在jetpack compose的Image控件中显示Bitmap 完事 前言 ...
最新文章
- 为什么不建议用 equals 判断对象相等?
- (转载)(官方)UE4--图像编程----Parallel Rendering Overview
- [原]java开发中遇到的问题及解决方法(持续更新)
- 收藏:视频网站(JavaEE+FFmpeg)/Nginx+ffmpeg实现流媒体直播点播系统
- RSA签名算法 - Java加密与安全
- cannot use a string pattern on a bytes-like object(bytes与str互转)
- 如何利用PHP会话显示出当前在线的用户
- python设计模式7-桥接模式
- dhcp 服务器发出了 dhcpnack 消息,跪求DHCP报文分析
- FreeBSD重新加载rc.conf
- 每天Leetcode 刷题 初级算法篇-汉明距离
- 7. where loop
- nexus和maven
- Eclipse中经常出现的问题解决方案
- 常见的软件生命周期模型
- 关闭WPS广告弹窗骚扰(Kingsoft Office 推荐)
- 提高淘宝店铺动态评分的四大技巧
- 寻找丢失的LZY(dfs)
- 前端,网页设计常用色彩搭配表
- 使用ECharts加载大数据量数据
热门文章
- 简单几步教你制作植物攀爬到建筑上
- 为什么边缘正在“吞噬”这个世界
- Android 10正式版发布,新特性来袭!
- 【正点原子FPGA连载】第四十一章OV5640摄像头RGB-LCD显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
- 6831. 2020.10.24【NOIP提高A组】T1.lover
- P1424 小鱼的航程(改进版)【非循环】
- Adobe Photoshop CS4 官方简体中文版+正版序列号+安装教程
- 暴风二期安装黑群晖DS3617
- 打开U盘的文件报错:错误0x800700ea:有更多数据可用
- python三个箭头怎么打出来_IntelliJ IDEA 调试真香技巧