当前位置: 首页 > news >正文

网站建设课程下载怎么建设手机网站

网站建设课程下载,怎么建设手机网站,网站推广文章怎么写,网页图片不显示都是叉作业及其需求 有时候人们能够下载一些感兴趣的视频但是发现并没有字幕,到字幕网站上查找到字幕文件,但是发现时间进度上不能完美配合,一个视频数据的例子来源于链接: BBC.巴塔哥尼亚:地球秘密乐园 https://www.aliyundrive.com/s/LmF2sgrQzMu/folder/612af030c6fa4bf4b7c…

作业及其需求

有时候人们能够下载一些感兴趣的视频但是发现并没有字幕,到字幕网站上查找到字幕文件,但是发现时间进度上不能完美配合,一个视频数据的例子来源于链接:
BBC.巴塔哥尼亚:地球秘密乐园 https://www.aliyundrive.com/s/LmF2sgrQzMu/folder/612af030c6fa4bf4b7cf498d96acda7b9ef9258e
相应的字幕文件来自于链接:
https://so.zimuku.org/search?q=%E5%9C%B0%E7%90%83%E7%A7%98%E5%AF%86%E4%B9%90%E5%9B%AD&chost=zimuku.org
上述视频和字幕文件在时间进度上不能完美匹配。
字幕文件内容由以下示例段落组成,具体可下载文件后查看:
1
00:00:04,480 --> 00:00:07,120 
In a far corner of the Earth 
在地球的另一个角落

2
00:00:07,120 --> 00:00:10,560 
is a South American wilderness.
是南美洲的荒野.

注意字幕文件的名字需要与对应的视频文件名一致,不包括扩展名。
通常来说,各段字幕之间的间隔是准确的,如果有一个软件可以把字幕文件中的各个段落统一提前或推迟相同的时间,调整几次后就可以生成与视频进度完美匹配的字幕文件。
设计一个类Subtitle代表一段字幕,其成员包括int id,两个时间类对象startTime和endTime(时间类应该有函数支持加减一个时间常量的运算),一个vect<string>对象代表着一条或多条字幕内容(如果是双语则有两行字符串,单一语言则只有一行),一个类Video代表视频,Video中有一个指针pst指向系列Subtitle对象,有一个成员函数readSubtitle从文件中读取所有字幕,有一个函数adjustSubtitle调整所有字幕的时间点,有一个函数writeSubtitle将所有字幕内容定稿字幕文件。主函数中生成一个Video对象,通过该类的成员函数读取字幕文件、修改时间进度并将修改后的字幕内容保存以供测试。
文件操作需要#include <fstream>
ifstream myfile("巴塔哥尼亚.E01.srt"); //打开文件读
myfile >> myvar;  //可以像cin一样从文件中读数据到变量
string s;
getline(myfile, s); //从myfile中读取一整行到变量s
myfile.close(); //同一文件只有关闭后才能再打开写
//写文件
ofstream outfile("巴塔哥尼亚.E01.srt"); //打开文件写
和cout一样操作outfile,写完后close,就可以保存文件。

函数writeSubtitle将所有字幕内容保存到字幕文件
pst也可以考虑用vector更方便,每发现一个字幕,push_back到数组中

思路及其代码实现

我们首先要打开我们需要打开的文件

我们首先来创建一个类Video和Subtitle来存储相应的数据,我们通过观察字幕的文件发现其文件的特征

class Subtitle
{
private:int id;Time startTime, endTime;//字幕的开始时间和结束时间vector<string> lines;//表示字幕的内容
public:Subtitle(int id, const Time& start, const Time& end, const vector<string>& lines): id(id), startTime(start), endTime(end), lines(lines){}void adjust(int ms)//调整字幕的开始时间和结束时间{startTime.adjust(ms);endTime.adjust(ms);}string toString() const//将字幕的信息转换为字符串格式{ostringstream oss;oss << id << "\n";oss << startTime.toString() << " --> " << endTime.toString() << "\n";//将字幕的开始时间和结束时间输出到oss中for (const string& line : lines)//历字幕的每一行,将其输出到 oss 中,然后输出一个换行符。{oss << line << "\n";}oss << "\n";return oss.str();//将oss中的数据转换为字符串,并返回}
};
bool isNumber(const string& str) 
{return !str.empty() && all_of(str.begin(), str.end(),[](unsigned char c)//C++ 的 all_of 算法,检查 str 中的所有字符。接受一个字符 c,并检查 c 是否是数字。{ return ::isdigit(c); });//isdigit用于检查一个字符是否是数字
}
class Video 
{
private:string subtitleFile;vector<Subtitle> subtitles;//存储多个时间加后面的字幕void readSubtitles()//从字幕文件中读取字幕{//判断是否打开ifstream infile(subtitleFile);if (!inf
http://www.yayakq.cn/news/951846/

相关文章:

  • 网站开发最新流程做网站不给源码吗
  • 天津市武清区建设银行网站发布悬赏任务的推广平台
  • 口碑好的做网站公司回收网站怎么做
  • 怎样把网站提交到百度怎么使用wordpress里的主题
  • 南昌营销型网站建设网站开发和app的区别
  • 用织梦做网站后面可以改吗长沙网站自己制作
  • 网站登录窗口怎么做开网站是干什么的
  • 张掖网站设计公司梨园网站建设
  • 山东网站建设制作公司秦皇岛房管局官网查询
  • 我做的网站有时打开很慢什么原因招聘h5是什么意思
  • 无锡住房和城乡建设局网站wordpress分享此文章
  • 网站设计 网站建设做网站是用ps还是ai
  • wordpress-saas电脑优化设置
  • 廊坊seo整站优化企业的网站做一个要多少
  • 国外做珠宝的网站有哪些上海seo公司
  • 苏州网站建设模版杭州网站开发制作公司
  • 设计网站超市设计
  • 网站建设佰金手指科捷一wordpress图片素材主题
  • 乌海建设网站网络服务提供者无正当理由拒绝提供或者拖延
  • 网站页面规范潍坊做网站的企业
  • 建设可以聊天的网站机械加工网上接单流程
  • 电商网站 内容优化wordpress如何看主题
  • 个人开发网站要多少钱网络营销专业分析
  • 建行信用卡网站捷信做单网站
  • 泗阳网站建设公司wordpress php开发手册
  • 网站免费大全专业刷单网站建设
  • 网站如何后台管理wordpress评论是关闭还是开启
  • 网站怎么快速排名个人艺术作品网站建设策划书
  • 字体logo设计在线生成网络优化关键词
  • 网站开发公司会计处理什么是网站建设中的专用主机