为了账号安全,请及时绑定邮箱和手机立即绑定

如何用ObjC实现音频播放与文字同步?

如何用ObjC实现音频播放与文字同步?

当年话下 2019-04-06 08:31:24
显示一段文字,然后播放一段音频时,要求能够在播放到哪个单词时就高亮显示相应单词;点具体的某一个单词,也能朗读该特定单词,同时将其高亮。用ObjC实现的话,大家有什么好的办法么?比如在屏幕上显示如下文字:Hello,SegmentFault.Howoldareyou?在音频文件播放到Hello时,Hello需要高亮;播放到How时,How高亮。同时,点击SegmentFault时,SegmentFault能够单独被朗读出来,同时背景高亮。谢谢~
查看完整描述

2 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

Player在播放音频文件时,它不会知道现在读的是那一个单词,所以你得准备一个时间数组,放在一个plist文件里面,在播放前读到一个NSArray里面,时间数组记录着每个单词在音频文件中的起始时间和结束时间。用这个数组再结合Player的currentTime属性,你就能判断当前正在读那个单词或者是在两个单词之间的空白阶段,再将那个单词所在的label高亮/变色处理,注意:每个单词都要作为单独的label画在屏幕上。同样,你点击一个单词(label),就从时间数组中读出那个单词的起始时间和结束时间,将Player的currentTime设置为起始时间,Player便开始读那个单词,然后在currentTime到结束时间后pause掉Player,这样便完成点击读某个单词。
                            
查看完整回答
反对 回复 2019-04-06
  • 2 回答
  • 0 关注
  • 418 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信