简介

乐乐音乐播放器最近添加了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字幕解析器相关推荐

  1. SRT协议的Wireshark解析器编写(Lua)

    WireSharks插件编写(lua) 前言 API Proto ProtoField 满足按位显示的例子(同时满足字符串查找) Tvb TvbRange Pinfo TreeItem 实现协议里面添 ...

  2. Android学习笔记---15_采用Pull解析器解析和生成XML内容

    15_采用Pull解析器解析和生成XML内容 -------------------------------------- 使用SAX或者DOM或者pull解析XML文件 -------------- ...

  3. Android 平台下的原生 Markdown 解析器

    Markdown 项目地址:zzhoujay/Markdown 简介:Android 平台下的原生 Markdown 解析器 Android 平台的原生 Markdown 解析器,已整合进 RichT ...

  4. PackageManagerService启动详解(五)之Android包信息体和解析器(中)

        PKMS启动详解(五)之Android包信息体和包解析器(中) Android PackageManagerService系列博客目录: PKMS启动详解系列博客概要 PKMS启动详解(一)之 ...

  5. 15_采用Pull解析器解析和生成XML内容

    java还提供SAX和DOM用于解析XML Android还集成了Pull解析器--推荐 package cn.itcast.service;import java.io.InputStream; i ...

  6. :Android网络编程--XML之解析方式:SAX

    任何放置在资源(res)目录下的内容可以通过应用程序的R类访问,这是被Android编译过的,而任何放置在资产(assets)目录下的内容会保持它的原始文件格式,为了读取它们,必须使用AssetMan ...

  7. 转载自android 开发--抓取网页解析网页内容的若干方法(网络爬虫)(正则表达式)

    转载自http://blog.csdn.net/sac761/article/details/48379173 android 开发--抓取网页解析网页内容的若干方法(网络爬虫)(正则表达式) 标签: ...

  8. Android markdown富文本渲染解析实现

    MarkDown Android平台的原生Markdown解析器,已整合进 RichText 由markdown文本直接转换为Spanned,快捷高效 不依赖特定控件,低侵入性 遵循 Github F ...

  9. Android XML pull 解析器

    Android 并未提供对 Java StAX API 的支持.但是,Android 确实附带了一个 pull 解析器,其工作方式类似于 StAX.它允许您的应用程序代码从解析器中获取事件,这与 SA ...

  10. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )

    文章目录 一.创建 Capstone 反汇编解析器实例对象 二.设置 Cs 汇编解析器显示细节 一.创建 Capstone 反汇编解析器实例对象 使用 Capstone 反汇编框架 , 首先创建 Ca ...

最新文章

  1. [Runtime]-交换方法
  2. 一行Java代码判断文件夹是否存在,不存在则新建
  3. BZOJ-1934-Vote善意的投票-SHOI2007
  4. docker run命令详解
  5. Android的Notification研究
  6. linux开机启动详细流程图
  7. ubuntu12.04 安装Android Studio笔记
  8. 文献检索的正确姿势——新生培训
  9. Redmi Note10系列发布时间曝光:最高搭载1亿像素主摄
  10. 如何实现系统集约与管理运营集约相互促进而不是相互制约
  11. java list stream 去除 null_Stream流的这些操作,你得知道,对你工作有很大帮助
  12. db2怎么限定查询条数_查询数据限制显示条数
  13. linux命令系列 grep
  14. 队列的介绍和实现(C语言实现)
  15. 工业机器人视觉功能详解
  16. php 如何查看vc版本信息,PHP版本中的VC6,VC9,VC11,TS,NTS区别
  17. centos7对普通用户授权sudo权限
  18. 【报告分享】2021年网生代线上社交行为洞察报告-Mob研究院TT语音(附下载)
  19. 批量给视频添加背景图片的操作方法
  20. pages文件夹 AddCartSuccess Center Detail Home Login Pay PaySuccess

热门文章

  1. 2021年7月整理--简单方法 暴力破解WIFI密码
  2. 双目立体匹配算法:ELAS
  3. 2021年信息学部物联网工程学院学生科协第一次Office大培训
  4. RS-485 通讯协议简介
  5. Java中常用到的英语单词读音以及解释
  6. 十几次CATIA安装重装系统吐血问题总结
  7. 微信小程序轮播图实现详解
  8. TOOLFK在线工具-在线文字转语音/语音合成mp3工具
  9. oracle sql 查询全年日期,oracle下sql创建指定年份全年日期表(区分工作日)
  10. HTML5 标签汇总