社区讨论

自己写的歌词提示器

学术版参与者 4已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lwgcwc24
此快照首次捕获于
2024/05/21 20:13
2 年前
此快照最后确认于
2024/05/21 20:23
2 年前
查看原帖
自己写了个歌词提示器(沉溺的),应该还阔以,请各路大神帮我看看,还有什么可以改进的:
CPP
#include <iostream>
#include <windows.h>
#include <Windows.h>
#include <stdlib.h>
#pragma comment(lib, "Winmm.lib")
using namespace std;

char geci[100][200] = {
	{"[00:00.00] 编曲 : Vibee/月野小兔子"},
	{"[00:01.00] 制作人 : Vibee/孙明旭"},
	{"[00:10.10] (未经著作权人许可,不得翻唱翻录或使用)"},
	{"[00:20.10] Baby don’ t leave me"},
	{"[00:22.71]答应我像每晚的暮色"},
	{"[00:25.26]只对我一个人燃起"},
	{"[00:29.28]比昨天更想你"},
	{"[00:31.83]就像太阳在照常升起"},
	{"[00:34.62]我对你的爱从一开始就不会缺席"},
	{"[00:39.69]被咖啡的香味叫醒"},
	{"[00:41.97]为我吹干头发的你"},
	{"[00:44.25]让我有种不真实又患失的感受"},
	{"[00:49.14]背着我踩沙滩的你"},
	{"[00:51.51]额头的汗落在手心"},
	{"[00:53.88]我明白梦中亲吻我的那个人是你"},
	{"[00:57.42] Baby"},
	{"[00:58.80]你让我的心不再结冰"},
	{"[01:03.33]初雪我们围一条围巾"},
	{"[01:08.13]整日沉溺在你的眼睛"},
	{"[01:12.54]你的深情"},
	{"[01:14.85]望不到底"},
	{"[01:17.64] Come on come on"},
	{"[01:18.57]靠我的胸口"},
	{"[01:19.98]我的心脏"},
	{"[01:20.97]随时为你跳动"},
	{"[01:22.41]漫天雪花"},
	{"[01:23.28]谁都不能摘走"},
	{"[01:24.60]落在你的脸"},
	{"[01:25.62]忍不住的触碰 yeah"},
	{"[01:27.48] We can just groove all night"},
	{"[01:29.82]不愿让你独自醒来"},
	{"[01:32.19]你让我的世界花开"},
	{"[01:34.26]融化了冰川"},
	{"[01:35.13]就抱紧你的腰"},
	{"[01:37.32]什么都不去想"},
	{"[01:39.96]如果可以我想就这样一直到老"},
	{"[01:44.64]我想你也明了"},
	{"[01:47.07]对我多么重要"},
	{"[01:49.59]才会让时间定格这一秒"},
	{"[01:59.88] All i mean is u"},
	{"[02:00.18] All i need is u"},
	{"[02:00.48] All i got is u"},
	{"[02:05.07] All i want is u"},
	{"[02:13.98]一想到"},
	{"[02:14.85]被咖啡的香味叫醒"},
	{"[02:17.04]为我吹干头发的你"},
	{"[02:19.38]让我有种不真实又患失的感受"},
	{"[02:24.21]背着我踩沙滩的你"},
	{"[02:26.52]额头的汗落在手心"},
	{"[02:28.89]我明白梦中亲吻我的那个人是你"},
	{"[02:32.22] Baby"},
	{"[02:34.38]你让我的心不再结冰"},
	{"[02:38.37]初雪我们围一条围巾"},
	{"[02:43.23]整日沉溺在你的眼睛"},
	{"[02:47.55]你的深情"},
	{"[02:49.86]望不到底"},
	{"[03:08.77] 制作人Producer:Sirius孙明旭/Vibee@soulfresh"},
	{"[03:09.08] 编曲Arrangment:Vibee@soulfresh/月野小兔子"},
	{"[03:09.39] 配唱制作Vocal Production:杜大发/Sirius 孙明旭"},
	{"[03:09.70] 吉他Guitar:Chillinair "},
	{"[03:10.02] 和声Backing Vocal:邹沛沛/Pank"},
	{"[03:10.33] 和声编写Backing Vocal Arrangment:邹沛沛/Pank"},
	{"[03:10.64] 录音Recording:马超/谭玉堂"},
	{"[03:10.95] 混音师Mixing Engineer:soulfresh"},
	{"[03:11.26] 母带后期处理工程师Mastering Engineer:soulfresh"},
	{"[03:11.58] 项目执行:Jie Zhou@环球音乐"},
	{"[03:11.89] 监制/项目统筹:Yijia Zhang@环球音乐"},
	{"[03:12.20] 企划:心心向上"},
	{"[03:12.51] 封面:Blueberry"},
	{"[03:12.82] 歌曲统筹:韩淑琦/胡临网"},
	{"[03:13.14] 营销推广:胡临网/粟和"},
	{"[03:13.45] 监制出品:马玉壮"}
};

long long count(int h) {
	long long s = int(geci[h][2] - '0') * 600 + int(geci[h][4] - '0') * 100 + int(geci[h][5] - '0') * 10 + int(
	                  geci[h][7] - '0') * 1 /* + int(geci[h][8] - '0') * 10*/;//精度不用那么高
	return s;
}

int main() {
	long long s = 0;
	int h = 0;
	mciSendString("open *\\沉溺.mp3 alias mp3", NULL, 0, NULL); //加载音乐
	mciSendString("play mp3", NULL, 0, NULL); //播放音乐
        //VS里面好像要加上TEXT()
	while (h != 72) {
		if (s < 1000 ? s == count(h) : (count(h) - s) < 10/*处理延迟:)*/) {
			cout << geci[h] << endl;
			h++;
		}
		Sleep(100);
		s += 1;//后期会有亿点延迟(悲
	}

	return 0;
}
就是弄了个计数器s,根据歌词前面的时间来判定是否应该输出下一段歌词,在实际的测试时发现过了1分半(为什么不是两分半(怒 )就会有大约1秒的延迟,聪明的我成功的加了个延迟(1秒)

回复

4 条回复,欢迎继续交流。

正在加载回复...