Merge pull request #29 from itouakirai/patch-3

修复逐字歌词行开头为空格的问题
This commit is contained in:
ZHAAREY 2024-08-18 23:12:59 +08:00 committed by GitHub
commit 453fcd7a5c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1856,11 +1856,15 @@ func conventSyllableTTMLToLRC(ttml string) (string, error) {
for _, div := range parsedTTML.FindElement("tt").FindElement("body").FindElements("div") { for _, div := range parsedTTML.FindElement("tt").FindElement("body").FindElements("div") {
for _, item := range div.ChildElements() { for _, item := range div.ChildElements() {
var lrcSyllables []string var lrcSyllables []string
var i int = 0
for _, lyrics := range item.Child { for _, lyrics := range item.Child {
if _, ok := lyrics.(*etree.CharData); ok { if _, ok := lyrics.(*etree.CharData); ok {
if i > 0 {
lrcSyllables = append(lrcSyllables, " ") lrcSyllables = append(lrcSyllables, " ")
continue continue
} }
continue
}
lyric := lyrics.(*etree.Element) lyric := lyrics.(*etree.Element)
if lyric.SelectAttr("begin") == nil { if lyric.SelectAttr("begin") == nil {
continue continue
@ -1884,6 +1888,7 @@ func conventSyllableTTMLToLRC(ttml string) (string, error) {
text = lyric.SelectAttr("text").Value text = lyric.SelectAttr("text").Value
} }
lrcSyllables = append(lrcSyllables, fmt.Sprintf("%s%s", beginTime, text)) lrcSyllables = append(lrcSyllables, fmt.Sprintf("%s%s", beginTime, text))
i += 1
} }
endTime, err := parseTime(item.SelectAttr("end").Value) endTime, err := parseTime(item.SelectAttr("end").Value)
if err != nil { if err != nil {