Ios 播放mp3音频时显示字幕
我需要建立一个应用程序,将突出显示字符串中的一个单词作为音频播放。我需要这个和声音同步。音频不是连续的。e、 g表示“你好,你好吗?”在“你好”和“你好”之间可能会有延迟。我检查了MIDI文件格式,但它只能保存音符,因为我的mp3有语音。Ios 播放mp3音频时显示字幕,ios,metadata,core-audio,Ios,Metadata,Core Audio,我需要建立一个应用程序,将突出显示字符串中的一个单词作为音频播放。我需要这个和声音同步。音频不是连续的。e、 g表示“你好,你好吗?”在“你好”和“你好”之间可能会有延迟。我检查了MIDI文件格式,但它只能保存音符,因为我的mp3有语音。 我看到的最后一个选项是在音频中维护一个包含单词开始时间的文件,并在显示时突出显示该文件 有人能推荐更好的选择吗?ID3标签支持SYLT或同步歌词框架。发件人: 4.9。同步歌词/文本 这是另一种将歌词、歌词或歌曲结合在一起的方式 歌词,在音频文件中以文本形式出
我看到的最后一个选项是在音频中维护一个包含单词开始时间的文件,并在显示时突出显示该文件
有人能推荐更好的选择吗?ID3标签支持SYLT或同步歌词框架。发件人: 4.9。同步歌词/文本 这是另一种将歌词、歌词或歌曲结合在一起的方式 歌词,在音频文件中以文本形式出现,但这次与 音频。它也可用于描述事件,例如。 在舞台上或屏幕上与音频同步发生。这个 标头包括一个内容描述符,表示为 终止的文本字符串。如果未输入描述符,“内容” “描述符”仅为$00(00) 绝对时间意味着每个戳记都包含从
文件的开头 帧标题后面的文本与
以一种主要方式不同步歌词/文本转录。每个
音节(或
编码器)是以null结尾的字符串,后跟时间戳
表示它在声音文件中所属的位置。因此,每个同步都有
以下结构:
Terminated text to be synced (typically a syllable)
Sync identifier (terminator to above string) $00 (00)
Time stamp $xx (xx ...)
如果直接位于声音的开头。所有时间戳
应该按时间顺序排序。可以考虑同步
作为后续字符串的验证器 所有“SYLT”帧中都允许使用换行符,并且必须使用换行符 在框架中的每个条目(名称、事件等)后使用 内容类型$03-$04 关于空白字符的一些注意事项:空白
分隔词应标记新词的开头,因此
出现在一个新词的第一个音节前面的。这也是
对新行字符有效。后跟逗号的音节应
不能用sync(音节和逗号)分开 应在同步之前) 例如:“USLT”一文 将“SYLT”编码为:
"Strang" $00 xx xx "ers" $00 xx xx " in" $00 xx xx " the" $00 xx xx
" night" $00 xx xx 0A "Ex" $00 xx xx "chang" $00 xx xx "ing" $00 xx
xx "glan" $00 xx xx "ces" $00 xx xx
每个标记中可能有多个“SYLT”帧,但只有一个使用相同的语言和内容描述符 几天前,
taglib
()的主分支支持SYLT
帧。您可以使用taglib为您的显示器提取同步歌词
Terminated text to be synced (typically a syllable)
Sync identifier (terminator to above string) $00 (00)
Time stamp $xx (xx ...)
"Strangers in the night" $0A "Exchanging glances"
"Strang" $00 xx xx "ers" $00 xx xx " in" $00 xx xx " the" $00 xx xx
" night" $00 xx xx 0A "Ex" $00 xx xx "chang" $00 xx xx "ing" $00 xx
xx "glan" $00 xx xx "ces" $00 xx xx