如何实现歌词同步

sd6276670 2010-10-09 11:08:54
现在做mp3 播放器 不知道 如何实现歌词同步 怎么能让歌词滚动啊
...全文
332 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alps1992 2011-12-09
  • 打赏
  • 举报
回复
学习啊,,同楼上一个问题
yinkangjian 2011-11-29
  • 打赏
  • 举报
回复
我也用对话框做了个透明窗口 想要在上面显示LRC歌词 而且是自己制作 请问该如何 实现 请高手帮忙
花熊 2010-10-11
  • 打赏
  • 举报
回复
很简单的,找个千千静听的lrc打开看看就明白了,它上面有时间标签,播放音乐时也有时间进度,在onTimer里分析下时间标签,找到与当前音乐时间最接近的那一行,让它滚动到可视区,并高亮显示即可,可以用richEdit显示,这样可以支持多种颜色,
chuho 2010-10-11
  • 打赏
  • 举报
回复
学习.......................
傻X 2010-10-09
  • 打赏
  • 举报
回复
滚动这个就要用GDI重绘了,最好弄个线程读歌词,然后把停顿参数传给Sleep,显示的时候再通知主窗体绘制。那样就OK了
sd6276670 2010-10-09
  • 打赏
  • 举报
回复
这个我会 我现在可以将每句歌词放在vector 中 我现在想实现的是在窗口上一句话 一句话的滚动
cdsnpeter 2010-10-09
  • 打赏
  • 举报
回复
看你需不需要支援LRC歌词文件。
需要的话,分析LRC,它的每句歌词前后都有时间的。

播放MP3的时候,需要隔一段时间发一个消息告诉显示歌词的UI播放到哪里了。
然后把对应歌词取出并显示即可。

这个机制取决于你如何播放MP3。
一般都是先解压成为Wave,播放Wave的时候,可以透过DirectSound,DSound播放的时候,可以设置一个回调事件,在执行到某个位置的时候调用。具体你可以参考下DirectSound的资料。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧