Swift:使用时间戳渲染转录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift:使用时间戳渲染转录相关的知识,希望对你有一定的参考价值。
我正在制作一个从语音转换为文本的应用程序,现在我试图在屏幕上显示结果,我想知道如何做到这一点(来自Otter
应用程序:]
基本思路:
- 1个对话中有多个句子
- 每个句子有多个单词,这些单词都有自己的时间戳,并将突出显示以与当前音频播放时间相匹配
- 我们可以在每个时间戳上单击每个单词来播放音频
- 您可以在GIF的末尾看到,我们可以滚动滑块,并且单词将自动突出显示
我的想法:
- 我正在考虑渲染表示每个单词的
UILabel
(或UIButton
),通过这样做,我们可以单击每个Label并跳转到正确的时间,但是我不知道如何附加UILabel
到同一行中的另一个UILabel
,尝试搜索但找不到解决方案。一个句子可以很长,可以包含多个单词,因为如果需要的话,它需要分成多行] - [此外,我想知道,要使标签在音频播放(或滚动滑块)时自动突出显示,它们应该如何“监视”音频播放时间的变化(或滑块值的变化)。 1个对话可能包含很多句子,如果我们以低效率的方式“观看”,将导致性能下降
答案
我宁愿建议使用UIButton
而不是UILabel
,因为它很容易为其设置拍子识别器,并且支持开箱即用的突出显示。如果我们谈论一种简单的方法来接连放置多个视图,则首先想到的是使用UIStackView
–易于定制和使用。最困难的部分是跟踪音频播放并将其与UI同步。第一种方法是跟踪回放,当回放进入特定转录范围时,将其索引和突出显示按钮置于arrangedSubviews
的UIStackView
处的相同索引处。]
以上是关于Swift:使用时间戳渲染转录的主要内容,如果未能解决你的问题,请参考以下文章