Android Srt和Ass字幕解析器
简介
乐乐音乐播放器最近添加了MV功能,由于部分MV没有字幕,所以这里为乐乐音乐播放器添加一个外挂字幕的开源库,目前该开源库主要简单支持srt和ass字幕文件。
字幕显示方式
{\fn华文楷体\fs16\1c&H3CF1F3&\b1}影片壓制
转换
<font color="#F3F13C"><b>影片壓制</b></font>
显示方式主要是以html的方式显示,所以现在只支持读取字幕文本、html文本、颜色和加粗等基本功能,没有特效。
字幕格式解析
正则表达式
时间标签
\d+:\d+:\d+,\d+
分隔出每一项font标签
<font color="#F3F13C"榮譽出品==--</font>
(<font[<]+>)(<[bius]>)*[<]+(</[bius]>)*(</font>)
分隔出字幕内容
<font color="#FF00FF"><b><u>http://cmct.cc</u></b></font>
((<font[^<]+>)(<[bius]>)|(</[bius]>)(</font>))
分隔ass
Dialogue: 0,0:00:02.00,0:00:07.00,Default,,0000,0000,0001,,{\fn华文楷体\fs16\1c&H3CF1F3&\b0}--==本影片由 {\1c&HFF8000&\b1}CMCT 团队{\fn华文楷体\1c&H3CF1F3&\b0} 荣誉出品==--\N更多精彩影视 请访问 {\fnCronos Pro Subhead\1c&HFF00FF&\b1}http://cmct.cc{\r}Dialogue\S\s+\d+,\d+:\d+:\d+.\d+,\d+:\d+:\d+.\d+,\S+,
srt字幕
SRT字幕的颜色以及一些特效的设置
ass字幕
ASS字幕格式规范
预览图
srt字幕
image
ass字幕
image
Gradle
1.root build.gradle
`allprojects {repositories {...maven { url 'https://jitpack.io' }}
}`
2.app build.gradle
dependencies { implementation 'com.github.zhangliangming:Subtitle:v1.2' }
混淆注意
-keep class com.zlm.subtitlelibrary.** { *; }
调用Demo
链接: https://pan.baidu.com/s/1j-4wbtiNIfRhypb4uEnX6g 提取码: t8dj
声明
该项目的代码和内容仅用于学习用途
项目地址
https://github.com/zhangliangming/Subtitle.git
Android Srt和Ass字幕解析器相关推荐
- SRT协议的Wireshark解析器编写(Lua)
WireSharks插件编写(lua) 前言 API Proto ProtoField 满足按位显示的例子(同时满足字符串查找) Tvb TvbRange Pinfo TreeItem 实现协议里面添 ...
- Android学习笔记---15_采用Pull解析器解析和生成XML内容
15_采用Pull解析器解析和生成XML内容 -------------------------------------- 使用SAX或者DOM或者pull解析XML文件 -------------- ...
- Android 平台下的原生 Markdown 解析器
Markdown 项目地址:zzhoujay/Markdown 简介:Android 平台下的原生 Markdown 解析器 Android 平台的原生 Markdown 解析器,已整合进 RichT ...
- PackageManagerService启动详解(五)之Android包信息体和解析器(中)
PKMS启动详解(五)之Android包信息体和包解析器(中) Android PackageManagerService系列博客目录: PKMS启动详解系列博客概要 PKMS启动详解(一)之 ...
- 15_采用Pull解析器解析和生成XML内容
java还提供SAX和DOM用于解析XML Android还集成了Pull解析器--推荐 package cn.itcast.service;import java.io.InputStream; i ...
- :Android网络编程--XML之解析方式:SAX
任何放置在资源(res)目录下的内容可以通过应用程序的R类访问,这是被Android编译过的,而任何放置在资产(assets)目录下的内容会保持它的原始文件格式,为了读取它们,必须使用AssetMan ...
- 转载自android 开发--抓取网页解析网页内容的若干方法(网络爬虫)(正则表达式)
转载自http://blog.csdn.net/sac761/article/details/48379173 android 开发--抓取网页解析网页内容的若干方法(网络爬虫)(正则表达式) 标签: ...
- Android markdown富文本渲染解析实现
MarkDown Android平台的原生Markdown解析器,已整合进 RichText 由markdown文本直接转换为Spanned,快捷高效 不依赖特定控件,低侵入性 遵循 Github F ...
- Android XML pull 解析器
Android 并未提供对 Java StAX API 的支持.但是,Android 确实附带了一个 pull 解析器,其工作方式类似于 StAX.它允许您的应用程序代码从解析器中获取事件,这与 SA ...
- 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )
文章目录 一.创建 Capstone 反汇编解析器实例对象 二.设置 Cs 汇编解析器显示细节 一.创建 Capstone 反汇编解析器实例对象 使用 Capstone 反汇编框架 , 首先创建 Ca ...
最新文章
- [Runtime]-交换方法
- 一行Java代码判断文件夹是否存在,不存在则新建
- BZOJ-1934-Vote善意的投票-SHOI2007
- docker run命令详解
- Android的Notification研究
- linux开机启动详细流程图
- ubuntu12.04 安装Android Studio笔记
- 文献检索的正确姿势——新生培训
- Redmi Note10系列发布时间曝光:最高搭载1亿像素主摄
- 如何实现系统集约与管理运营集约相互促进而不是相互制约
- java list stream 去除 null_Stream流的这些操作,你得知道,对你工作有很大帮助
- db2怎么限定查询条数_查询数据限制显示条数
- linux命令系列 grep
- 队列的介绍和实现(C语言实现)
- 工业机器人视觉功能详解
- php 如何查看vc版本信息,PHP版本中的VC6,VC9,VC11,TS,NTS区别
- centos7对普通用户授权sudo权限
- 【报告分享】2021年网生代线上社交行为洞察报告-Mob研究院TT语音(附下载)
- 批量给视频添加背景图片的操作方法
- pages文件夹 AddCartSuccess Center Detail Home Login Pay PaySuccess