数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 6131|回复: 34

[软件] 从0开始:编写一个卡拉ok点歌程序

[复制链接]
发表于 2019-12-25 21:18:35 | 显示全部楼层 |阅读模式

拥有家庭KTV应该是很多音乐爱好者的一个梦想吧。
要打造家庭KTV,不仅需要各种音响设备,还需要最重要的:
曲库。
于是,在千兆宽带的加持下,耗时三天三夜,近7TB、15万多首歌的KTV曲库终于下载完成了。从上世纪的老歌到最近几个月的新歌,还有日韩美等流行歌,应有尽有。
那么这样就可以开始想唱就唱了,但搜索歌曲和控制播放的操作实在有点麻烦。
虽然可以用系统搜索(很慢,也可以用everything搜索)和PotPlayer播放,但在一屏上搜到歌曲打开后还要到二屏去按快捷键来暂停、切歌或者切换伴奏,一不留神鼠标就不知道飘到哪里去了……
而网上能够找到的一些点歌软件,虽然界面挺漂亮的,但软件都太古老了,在如今的win8win10系统上,要么打不开报错,要么打开无法正常播放,要么需要后台管理歌曲数据库,操作十分麻烦。
于是就想自己编写一个点歌程序,需要实现的功能:搜索歌曲,排队等待播放,自动切歌,顶歌、删歌,控制播放器切换伴奏、暂停、快进快退,重唱,手动切歌,当然还有关机。这些基本操作都要由这个程序完成。
于是在一天一夜的努力下,程序终于编写完成,界面简洁,功能明了:
要实现卡拉OK功能,首先要有一个播放器。在此选择PotPlayer,大名鼎鼎的本地播放器,功能就不多介绍了,应有尽有,设置菜单也非常详细。
最重要的是,切换音轨只需要按ALT+A即可。而播放暂停的快捷键就是空格。
编写环境则使用功能丰富而且代码简单易懂的VB。
那么第一步要做的就是搜索到想要点的歌。如何搜索呢?要搜索到文件,就需要在指定目录中遍历每一个文件夹,判断文件名是否符合输入的要求,把是的加入列表,就完成了。
在程序上,则由下面这个函数来实现:
然后就可以在列表框中选择自己想要唱的歌,加入已点列表了。
已点列表有项目后,定时器会自动播放歌曲。然后就可以继续点歌,把想要唱的歌都加入已点列表。
第二个问题就是如何控制PotPlayer进行切换音轨和播放操作。
按键精灵应该很多人都用过。所以只要找到PotPlayer窗口,给它发生模拟按键,自然就可以控制啦。
那么接下来要做的就是如何找到窗口。可以用下面这样的方法:

找到窗口后,再给它发送按键:
但是这种方法好像只能发送一个按键,组合键就接收不到了,于是又有一种发送组合键的方法:
这样,就能顺利控制PotPlayer进行需要的操作了。
那么如何进行切歌、自动切歌、顶歌、删歌呢?
很简单,只要用定时器不停地检测是否正在播放,等播放完后立即自动播放列表中的下一首,就可以了。
PotPlayer有一个特性,在播放的时候窗口标题是播放的文件+PotPlayer,而停止的时候标题就只有PotPlayer。所以只要这样判断就知道有没有在播放。
而至于删歌、顶歌等操作,只要在列表里做几个循环就能完成了,非常简单。
最后,给软件打上自己的信息框。


好了,可以愉快地想唱就唱啦。。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 9家元 +142 收起 理由
cushion + 20 優秀文章
2n3055 + 20 認真發帖
565758238 + 10 厉害
溺水江湖 + 8 優秀文章
玛德陛下 + 10 謝謝分享
人艰不拆了 + 10
zb0924 + 40 優秀文章
xiaoqi233 + 4
东京的士 + 20 反手就给你20M

查看全部打赏

发表于 2019-12-25 21:24:54 | 显示全部楼层
楼主真厉害!不扶墙就服你:handshake:
回复 支持 反对

使用道具 举报

发表于 2019-12-25 21:24:55 | 显示全部楼层
厉害了,会写代码还喜欢K歌:hug:
回复 支持 1 反对 0

使用道具 举报

发表于 2019-12-25 21:31:04 | 显示全部楼层
cj8510 发表于 2019-12-25 21:24
厉害了,会写代码还喜欢K歌

生气了吧:tongue:
回复 支持 反对

使用道具 举报

发表于 2019-12-25 21:40:44 | 显示全部楼层
羡慕能在家里唱歌的
回复 支持 反对

使用道具 举报

发表于 2019-12-25 22:04:00 | 显示全部楼层
楼主用的什么操作系统,vb还能用吗:loveliness:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-25 22:14:42 | 显示全部楼层
人艰不拆了 发表于 2019-12-25 22:04
楼主用的什么操作系统,vb还能用吗

win8 win10都能用啊
回复 支持 反对

使用道具 举报

发表于 2019-12-25 22:24:01 | 显示全部楼层

是吗,老的版本能用吗,我都好久没用过了:mad:
回复 支持 反对

使用道具 举报

发表于 2019-12-25 22:33:17 来自手机浏览器 | 显示全部楼层
我更好奇你的ktv歌库能共享吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-25 23:37:20 | 显示全部楼层
nokia5320 发表于 2019-12-25 22:33
我更好奇你的ktv歌库能共享吗?

9块8买的,不过下这个没有五百兆宽带的话可以坚持好多天的呢
回复 支持 1 反对 0

使用道具 举报

发表于 2019-12-26 10:24:05 | 显示全部楼层
牛叉,自己写的,记得好像有个啥可以WIN10下用,就是那歌的命名得按它那个规则,不然读不出,主要是歌文件难找,以前下了几个TB,后面放弃了
回复 支持 反对

使用道具 举报

发表于 2019-12-26 14:40:40 | 显示全部楼层
是pt下载吗?速度能保证?
回复 支持 反对

使用道具 举报

发表于 2019-12-26 17:39:32 来自手机浏览器 | 显示全部楼层
能不能给一个歌库的购买地址,我也去买一个。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-26 20:27:46 | 显示全部楼层
bxh111 发表于 2019-12-26 17:39
能不能给一个歌库的购买地址,我也去买一个。

搜下就有了
回复 支持 反对

使用道具 举报

发表于 2019-12-27 11:26:30 | 显示全部楼层
透明机箱,有点意思!
回复 支持 反对

使用道具 举报

发表于 2019-12-27 17:56:59 | 显示全部楼层
网上有别人做好的免费的KTV软件,你 有这些歌的资源,可以直接导入,省去了自己编程的过程啊
回复 支持 反对

使用道具 举报

发表于 2019-12-27 18:57:28 | 显示全部楼层
感兴趣的是那7T的曲库,请教一下那里可以下。 :tongue:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-27 20:01:33 | 显示全部楼层
hqy 发表于 2019-12-27 17:56
网上有别人做好的免费的KTV软件,你 有这些歌的资源,可以直接导入,省去了自己编程的过程啊 ...

不是说了原因吗
回复 支持 反对

使用道具 举报

发表于 2019-12-27 21:31:04 | 显示全部楼层
我更好奇你的ktv歌库能共享吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-19 09:15 , Processed in 0.670802 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表