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