您好,匿名用户
随意问技术百科期待您的加入

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

0 投票
显示一段文字,然后播放一段音频时,要求能够在播放到哪个单词时就高亮显示相应单词;点具体的某一个单词,也能朗读该特定单词,同时将其高亮。用ObjC实现的话,大家有什么好的办法么?

比如在屏幕上显示如下文字:Hello,suiyiwen. How old are you?
在音频文件播放到Hello时,Hello需要高亮;播放到How时,How高亮。同时,点击suiyiwen时,suiyiwen能够单独被朗读出来,同时背景高亮。

谢谢~
用户头像 提问 2012年 12月1日 @ Ares 上等兵 (353 威望)
编辑 2012年 12月1日 @Saber
分享到:

1个回答

0 投票
 
最佳答案

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

用户头像 回复 2012年 12月1日 @ Nidalee 上等兵 (346 威望)
选中 2012年 12月1日 @Ares
提一个问题:

相关问题

0 投票
0 回复 20 阅读
用户头像 提问 2012年 12月1日 @ Trundle 上等兵 (301 威望)
0 投票
1 回复 43 阅读
0 投票
1 回复 92 阅读
0 投票
1 回复 249 阅读
0 投票
1 回复 34 阅读
用户头像 提问 2012年 12月1日 @ Archer 上等兵 (494 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...