有些时候背稿子背不下来,家里又没有提词器,我就自己写了一个提词器;
主要结构是用C++写的
#include <iostream>
#include <Windows.h>
#include <iomanip>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <thread>
#include <chrono>
void SetSize(unsigned uCol, unsigned uLine)
{
char cmd[64];
sprintf(cmd,"mode con cols=%d lines=%d", uCol, uLine);
system(cmd);
}
void scrollTeleprompter(const std::string& text, size_t delay_ms) {
for (char c : text) {
std::cout << c;
std::flush(std::cout); // 刷新输出缓冲区
std::this_thread::sleep_for(std::chrono::milliseconds(delay_ms)); // 等待一段时间
}
std::cout << std::endl; // 打印完所有字符后换行
}
int main() {
SetSize(30, 10); // 设置控制台长宽
std::cout << "请输入你要提示的内容:\n\n";
std::string str;
std::cin >> str;
sleep(1); // 等待1秒
std::cout << "\n\n设置完成!\n\n";
sleep(1); // 等待1秒
std::cout << "准备!\n\n";
sleep(1); // 等待1秒
std::cout << "3\n\n";
sleep(1); // 等待1秒
std::cout << "2\n\n";
sleep(1); // 等待1秒
std::cout << "1\n\n";
sleep(1); // 等待1秒
std::cout << "开始!\n\n\n";
sleep(0.6); // 等待0.6秒
// 获取当前时间(开始时间)
auto start = std::chrono::high_resolution_clock::now();
std::string text = str;
size_t delay = 120; // 设置每个字符之间的延迟为120毫秒
scrollTeleprompter(text, delay); // 调用提词器函数
// 获取当前时间(结束时间)
auto end = std::chrono::high_resolution_clock::now();
// 计算时间差,并转换为秒(double类型)
auto duration_seconds = std::chrono::duration_cast<std::chrono::duration<double>>(end - start);
sleep(2); // 等待2秒
// 输出结果,设置输出流的小数点后的位数为4
std::cout << std::fixed << std::setprecision(4);
std::cout << "\n\n所用时间为: " << duration_seconds.count() << " 秒" << std::endl;
sleep(1); // 等待1秒
std::cout << "\n\n已结束!\n\n";
system("pause");
}
安装包是用inno setup做的
; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!
#define MyAppName "提词器V1.0"
#define MyAppVersion "1.0"
#define MyAppPublisher "yhs"
#define MyAppExeName "提词器V1.0.exe"
#define MyAppAssocName MyAppName + " 文件"
#define MyAppAssocExt ".myp"
#define MyAppAssocKey StringChange(MyAppAssocName, " ", "") + MyAppAssocExt
[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (若要生成新的 GUID,可在菜单中点击 "工具|生成 GUID"。)
AppId={{29E42BC9-417D-4432-BB93-7D8ACD7D309C}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName={autopf}\{#MyAppName}
ChangesAssociations=yes
DisableProgramGroupPage=yes
; 以下行取消注释,以在非管理安装模式下运行(仅为当前用户安装)。
;PrivilegesRequired=lowest
OutputDir=C:\Program Files (x86)\提词器V1.0
OutputBaseFilename=提词器V1.0
Compression=lzma
SolidCompression=yes
WizardStyle=modern
[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\Users\Administrator\Desktop\提词器V1.0\bin\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Administrator\Desktop\提词器V1.0\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”
[Registry]
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocName}"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0"
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""
Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".myp"; ValueData: ""
[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
现在还是1.0版本,以后会继续更新!!!
安装包我放百度网盘了,大家可以去看看~
链接: https://pan.baidu.com/s/1qGKF-Io8dN3Qx2_B_HHrQA
提取码: ny7z
教程文件里都有了,我这里给大家发一下吧
1、打开“提词器V1.0”快捷方式进入控制台;
2、鼠标右键控制台上方白色区域;
3、鼠标右键后点击“属性(P)”;
4、点击“字体”选项;
5、将“大小(S)”推荐更改72(根据自己需求调整);
6、点击确认即可;
7、按照控制台指示继续操作。
注:每次将文件移动到另一路径时都要调整字体大小
大家如果有兴趣可以去用用看,记得把体验写道评论区,这样我才能出2.0版本,谢谢!