Android Srt和Ass字幕解析器

简介

乐乐音乐播放器最近添加了MV功能,由于部分MV没有字幕,所以这里为乐乐音乐播放器添加一个外挂字幕的开源库,目前该开源库主要简单支持srt和ass字幕文件。

字幕显示方式

{\fn华文楷体\fs16\1c&H3CF1F3&\b1}影片壓制

转换

影片壓制

显示方式主要是以html的方式显示,所以现在只支持读取字幕文本、html文本、颜色和加粗等基本功能,没有特效。

字幕格式解析

正则表达式

  • 时间标签

    \d+:\d+:\d+,\d+

  • 分隔出每一项font标签

      
    

    (<]+>)(<[bius]>)*[<]+()*()

  • 分隔出字幕内容

    http://cmct.cc

    (()(<[bius]>)|()())

  • 分隔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字幕

Android Srt和Ass字幕解析器_第1张图片
image

ass字幕

Android Srt和Ass字幕解析器_第2张图片
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字幕解析器)