社区
WPF/Silverlight
帖子详情
wpf怎么实现卡拉OK效果?
hasagiiiii
2011-07-07 08:21:17
又没有人用wpf做过音乐播放器,要实现像酷狗,QQ音乐那样的歌词效果要怎么做呢?
是不是要新开一个窗口,里面放歌词呢?
如果用其他控件都无法单独显示在窗口外面。
另外要怎么实现音乐播放到那,歌词就同步到哪里,就是颜色不一样的那种效果。
有没有高手能指点一下?
...全文
227
6
打赏
收藏
wpf怎么实现卡拉OK效果?
又没有人用wpf做过音乐播放器,要实现像酷狗,QQ音乐那样的歌词效果要怎么做呢? 是不是要新开一个窗口,里面放歌词呢? 如果用其他控件都无法单独显示在窗口外面。 另外要怎么实现音乐播放到那,歌词就同步到哪里,就是颜色不一样的那种效果。 有没有高手能指点一下?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hasagiiiii
2011-07-08
打赏
举报
回复
先不结贴,看看有没有大虾有更好的办法
hasagiiiii
2011-07-08
打赏
举报
回复
[Quote=引用 3 楼 duanzilin 的回复:]
试试ActualWidth有没有值
好像Lable无法显示在所有windows窗体最上层的
[/Quote]
我知道错在哪了~
desiredSize的结果是正确的~谢谢你的耐心回答~
hasagiiiii
2011-07-08
打赏
举报
回复
[Quote=引用 3 楼 duanzilin 的回复:]
试试ActualWidth有没有值
好像Lable无法显示在所有windows窗体最上层的
[/Quote]
可以获取,但是全部是一样的~无论label里的字符是多少个。。。
而label.width获取的全是NaN,
label.desiredSize得到的结果更加不考谱,label为6个字符的时候获取的结果为10,8个的时候为360.
三个都不能用,看来还是得手动算,有没有方法直接通过字符的fontsize和字符数获取实际长度呢?
沝林
2011-07-08
打赏
举报
回复
试试ActualWidth有没有值
好像Lable无法显示在所有windows窗体最上层的
hasagiiiii
2011-07-08
打赏
举报
回复
[Quote=引用 1 楼 duanzilin 的回复:]
Popup应该可以显示在最外面的,不要让它自动关闭,编程控制它的显示和隐藏就可以了,而且它会一直在最上面,其他窗体也挡不住的
字的颜色与歌词的同步,我之前做了个类似的,我是用一段文字,用文字的颜色变化表示进度,歌词颜色变化也可以用这种方法,比如:一句歌词要唱5秒钟,用一个timer监视进度,同时要让字的颜色随进度改变,你需要2个显示层,其中上面一层是正常的字,下层一层是红色的字,2层字体可……
[/Quote]
我的想法也是这样,不过我用的是新窗口,然后用两个不同颜色的label,一个label的width随音乐的播放而增加,这样大概可以实现了这个功能,但是细节部分却有很多问题,比如timer,我把timer的间隔Interval设置为0.05,然后在tick事件里把一个代表时间currTime的变量+=0.05;这样currTime就可以代表已经播放了多长时间,但是实际上发现这个时间并不准确,我打开了一个计时器和程序里的currTime比较,发现过了1分钟后,程序里的currTime会比实际的计时器慢上1到2秒,我猜测timer在调用tick事件的时候会暂停计时,所以导致最终时间慢了一点,结果歌词的播放跟音乐的播放并不同步,后来用DateTime.Now - 开始播放的时间来获取音乐播放的时间,这样就比较准确。
还有一个问题就是,应该怎么获取Label的长度呢?我的想法是label的长度(就是当前句歌词的长度)/两句歌词间的时间间隔,获取label的width的增加速度,但是实际上发现获取不了label的width,不是NaN就是0,所以最终我用歌词长度 * fontsize来获取长度,结果还是导致音乐和歌词播放的速度不一致。
有没有大虾能指点一下~有没有比较好的解决办法
沝林
2011-07-07
打赏
举报
回复
Popup应该可以显示在最外面的,不要让它自动关闭,编程控制它的显示和隐藏就可以了,而且它会一直在最上面,其他窗体也挡不住的
字的颜色与歌词的同步,我之前做了个类似的,我是用一段文字,用文字的颜色变化表示进度,歌词颜色变化也可以用这种方法,比如:一句歌词要唱5秒钟,用一个timer监视进度,同时要让字的颜色随进度改变,你需要2个显示层,其中上面一层是正常的字,下层一层是红色的字,2层字体可以完全重合,开始是正常字体层覆盖红色字体层,随着播放开始,正常字体层的宽度随进度不断收缩,红色字体层不断显露出来,看起来就像字体在变一样
关于正常字体层的宽度收缩,可能需要用到旋转和平移等转换操作,因为控件的宽度默认是从右开始收缩的
利用C#
实现
卡拉
OK
点歌系统
总的来说,利用C#
实现
卡拉
OK
点歌系统是一项综合性的编程任务,涉及到数据库管理、用户界面设计、音频处理、网络编程等多个方面。通过这个项目,不仅可以提升C#编程技能,还能深入理解软件工程的各个环节。
C#
卡拉
OK
歌词显示
下面我们将深入探讨C#
实现
卡拉
OK
歌词显示的相关知识点。 首先,我们要理解歌词显示的基本原理。
卡拉
OK
歌词通常按照歌曲的时间轴进行同步显示,每个字或词对应一个特定的时间点。在C#中,我们可以使用时间戳或者音频...
c#文字逐个显示
实现
打字机
效果
在C#编程中,"文字逐个显示"的
实现
通常涉及到控制台输出或者GUI界面的动态更新,模拟出打字机或
卡拉
OK
歌词滚动的
效果
。这个功能在游戏、娱乐应用或者教学软件中很常见,可以增加用户体验的趣味性。下面我们将深入...
C#&Access
卡拉
OK
点歌系统
这个系统主要用于帮助
卡拉
OK
厅或其他类似的娱乐场所
实现
歌曲点播、管理等功能,提升服务效率和客户体验。 **C#简介** C#(读作"C sharp")是由微软公司开发的一种面向对象的、现代化的编程语言,广泛应用于Windows...
C#项目开发之
卡拉
OK
点歌系统
### C#项目开发之
卡拉
OK
点歌系统 #### 一、项目概述 在现代娱乐行业中,
卡拉
OK
点歌系统已经成为KTV、酒吧等娱乐场所不可或缺的一部分。本项目旨在通过C#语言开发一款实用且功能全面的
卡拉
OK
点歌系统。通过对用户...
WPF/Silverlight
8,756
社区成员
12,030
社区内容
发帖
与我相关
我的任务
WPF/Silverlight
WPF/Silverlight相关讨论
复制链接
扫一扫
分享
社区描述
WPF/Silverlight相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章