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

网站搭建用什么软件高品质的网站设计制作

网站搭建用什么软件,高品质的网站设计制作,高端网站定制的案例,具体阐述对网站如何加强建设Qt ffmpeg音视频转换工具#xff0c;QProcess方式调用ffmpeg#xff0c;对音视频文件进行格式转换#xff0c;支持常见的音视频格式#xff0c;主要在于QProcess的输出处理以及转换的文件名和后缀的处理#xff0c;可以进一步加上音视频剪切合并和音视频文件属性查询修改的…Qt ffmpeg音视频转换工具QProcess方式调用ffmpeg对音视频文件进行格式转换支持常见的音视频格式主要在于QProcess的输出处理以及转换的文件名和后缀的处理可以进一步加上音视频剪切合并和音视频文件属性查询修改的功能。 #include mainwindow.h #include ui_mainwindow.h #include QDebug #include QTextCodec #include QFileDialog #include QMessageBoxMainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui-setupUi(this);QFont font;font.setPixelSize(16);setFont(font);setWindowTitle(QStringLiteral(ffmpeg工具));ui-listWidget-setMaximumWidth(200);connect(ui-listWidget, SIGNAL(clicked(QModelIndex)), this, SLOT(convert()));ui-checkBox-setChecked(true);mProcess new QProcess;connect(mProcess, SIGNAL(readyReadStandardError()), this, SLOT(readError()));connect(mProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(readOutput()));connect(mProcess, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(finished(int,QProcess::ExitStatus)));mTimer new QTimer(this);connect(mTimer, SIGNAL(timeout()), this, SLOT(updateTimer()));mTimer-start(1000);initListWidget(); }MainWindow::~MainWindow() {delete ui; }void MainWindow::readError() {QString str mProcess-readAllStandardError().data();if (str \r){ui-textBrowser-append(mTmpStr);mTmpStr.clear();}else{mTmpStr str;if (str.contains(\r\n)){ui-textBrowser-append(mTmpStr);mTmpStr.clear();}} }void MainWindow::readOutput() {QByteArray qba mProcess-readAllStandardOutput();QTextCodec* tc QTextCodec::codecForName(System);QString str tc-toUnicode(qba);if (str \r){ui-textBrowser-append(mTmpStr);mTmpStr.clear();}else{mTmpStr str;if (str.contains(\r\n)){ui-textBrowser-append(mTmpStr);mTmpStr.clear();}} }void MainWindow::finished(int exitCode, QProcess::ExitStatus exitStatus) {ui-textBrowser-append(QStringLiteral(finished : %1 %2).arg(exitCode).arg(exitStatus));mProcess-close();if (exitCode 0 exitStatus 0){informationMessageBox(QStringLiteral(提示), QStringLiteral(%1\n转换\n%2\n完成).arg(mSourceFile).arg(mTargetFile));}else{informationMessageBox(QStringLiteral(提示), QStringLiteral(%1\n转换\n%2\n失败).arg(mSourceFile).arg(mTargetFile));} }void MainWindow::updateTimer() {if (!mTmpStr.isEmpty()){ui-textBrowser-append(mTmpStr);mTmpStr.clear();} }void MainWindow::initListWidget() {QStringList nameLst;nameLst.append(QStringLiteral(FLAC转MP3)); // ffmpeg -i input.flac -ab 320k -map_metadata 0 -id3v2_version 3 output.mp3nameLst.append(QStringLiteral(M4A转MP3)); // ffmpeg -i 1.m4a -acodec libmp3lame -aq 0 123.mp3nameLst.append(QStringLiteral(WAV转MP3)); // ffmpeg -i input.wav -f mp3 -acodec libmp3lame -aq 0 output.mp3nameLst.append(QStringLiteral(APE转MP3)); // ffmpeg -i 1.ape -acodec libmp3lame -aq 0 123.mp3nameLst.append();nameLst.append(QStringLiteral(MP4转M4A)); // ffmpeg -i test.mp4 -acodec copy -vn 123.m4anameLst.append(QStringLiteral(MP4转AAC)); // ffmpeg -i test.mp4 -acodec copy -vn 123.aacnameLst.append(QStringLiteral(MP4转MP3)); // ffmpeg -i test.mp4 -acodec libmp3lame -aq 0 123.mp3nameLst.append();nameLst.append(QStringLiteral(MP3转OGG)); // ffmpeg -i bb.mp3 -acodec libvorbis -ab 128k bb.oggnameLst.append(QStringLiteral(MP3转WAV)); // ffmpeg -i input.mp3 -f wav output.wavQMapQString, QString cmdMap;cmdMap.insert(QStringLiteral(FLAC转MP3), QStringLiteral(ffmpeg -i \%1\ -ab 320k -map_metadata 0 -id3v2_version 3 -aq 0 \%2\));cmdMap.insert(QStringLiteral(M4A转MP3), QStringLiteral(ffmpeg -i \%1\ -acodec libmp3lame -aq 0 \%2\));cmdMap.insert(QStringLiteral(WAV转MP3), QStringLiteral(ffmpeg -i \%1\ -f mp3 -acodec libmp3lame -aq 0 \%2\));cmdMap.insert(QStringLiteral(APE转MP3), QStringLiteral(ffmpeg -i \%1\ -acodec libmp3lame -aq 0 \%2\));cmdMap.insert(QStringLiteral(MP4转M4A), QStringLiteral(ffmpeg -i \%1\ -acodec copy -vn \%2\));cmdMap.insert(QStringLiteral(MP4转AAC), QStringLiteral(ffmpeg -i \%1\ -acodec copy -vn \%2\));cmdMap.insert(QStringLiteral(MP4转MP3), QStringLiteral(ffmpeg -i \%1\ -acodec libmp3lame -aq 0 \%2\));cmdMap.insert(QStringLiteral(MP3转OGG), QStringLiteral(ffmpeg -i \%1\ -acodec libvorbis -ab 128k \%2\));cmdMap.insert(QStringLiteral(MP3转WAV), QStringLiteral(ffmpeg -i \%1\ -f wav \%2\));foreach (QString name, nameLst){QListWidgetItem *item new QListWidgetItem;if (!name.isEmpty()){item-setText(name);item-setData(Qt::UserRole, cmdMap.value(name));}else{item-setText();item-setData(Qt::UserRole, );}ui-listWidget-addItem(item);} }QString MainWindow::getFileSuffix(QString file) {QString ret;if (file FLAC){ret QStringLiteral(flac);}else if (file MP3){ret QStringLiteral(mp3);}else if (file M4A){ret QStringLiteral(m4a);}else if (file WAV){ret QStringLiteral(wav);}else if (file APE){ret QStringLiteral(ape);}else if (file AAC){ret QStringLiteral(aac);}else if (file MP4){ret QStringLiteral(mp4);}else if (file OGG){ret QStringLiteral(ogg);}return ret; }void MainWindow::convert() {QListWidgetItem *item ui-listWidget-currentItem();QString tmp item-data(Qt::UserRole).toString();if (mProcess-isOpen()){mProcess-close();}mSourceFile.clear();mTargetFile.clear();mSource.clear();mTarget.clear();mSourceSuffix.clear();mTargetSuffix.clear();if (!tmp.isEmpty()){mTitle item-text();mCmd tmp;setWindowTitle(QStringLiteral(ffmpeg工具 - %1).arg(mTitle));}else{mTitle.clear();mCmd.clear();setWindowTitle(QStringLiteral(ffmpeg工具));} }bool MainWindow::informationMessageBox(const QString title, const QString text, bool isOnlyOk) {QMessageBox msgBox(this);msgBox.setFont(this-font());msgBox.setIcon(QMessageBox::Information);msgBox.setWindowTitle(title);msgBox.setText(text);if (isOnlyOk){msgBox.setStandardButtons(QMessageBox::Ok);msgBox.setButtonText(QMessageBox::Ok, QStringLiteral(确定));}else{msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);msgBox.setButtonText(QMessageBox::Ok, QStringLiteral(确定));msgBox.setButtonText(QMessageBox::Cancel, QStringLiteral(取消));}return (msgBox.exec() QMessageBox::Ok); }void MainWindow::closeEvent(QCloseEvent *event) {if (informationMessageBox(QStringLiteral(提示), QStringLiteral(确定关闭), false)){event-accept();}else{event-ignore();} }void MainWindow::on_pushButton_import_clicked() {if (mTitle.isEmpty() || mCmd.isEmpty()){return;}mSource mTitle.split(QStringLiteral(转))[0];mTarget mTitle.split(QStringLiteral(转))[1];mSourceSuffix getFileSuffix(mSource);mTargetSuffix getFileSuffix(mTarget);if (mSourceSuffix.isEmpty() || mTargetSuffix.isEmpty()){informationMessageBox(QStringLiteral(提示), QStringLiteral(不支持的文件格式));return;}QString file QFileDialog::getOpenFileName(this, QStringLiteral(打开%1文件).arg(mSource), QStringLiteral(.), QStringLiteral(%1文件(*.%2)).arg(mSource).arg(mSourceSuffix));if (!file.isEmpty()){mSourceFile file;if (ui-checkBox-isChecked()){QString tmp mSourceFile;mTargetFile tmp.replace(QStringLiteral(.%1).arg(mSourceSuffix), QStringLiteral(.%1).arg(mTargetSuffix));}} }void MainWindow::on_pushButton_save_clicked() {if (mSourceFile.isEmpty()){return;}QString file QFileDialog::getSaveFileName(this, QStringLiteral(保存%1文件).arg(mTarget), mTargetFile, QStringLiteral(%1文件(*.%2)).arg(mTarget).arg(mTargetSuffix));if (!file.isEmpty()){mTargetFile file;} }void MainWindow::on_pushButton_convert_clicked() {if (mSourceFile.isEmpty() || mTargetFile.isEmpty()){return;}QString cmd mCmd.arg(mSourceFile).arg(mTargetFile);ui-textBrowser-append(\n cmd \n);if (mProcess-isOpen()){mProcess-close();}mTmpStr.clear();mProcess-start(cmd); }
http://www.hkea.cn/news/14362875/

相关文章:

  • 网站建设中图片电话网页制作与网站建设试卷
  • 购物网站开发教程 视频如何更改公司网站内容
  • 让百度收录自己的网站中企动力沈阳分公司
  • 一个网站建设都需要什么互联广告精准营销
  • 九江网站开发游戏网站开发具备
  • 网站开发培训班多少报名费网上国网app下载交电费
  • 个人博客网站需要备案吗秦皇岛平台公司
  • 网站设计遇到的问题淄博网站制作平台形象
  • 关于进一步加强门户网站建设伊犁州建设局网站
  • 无忧企业网站管理系统乡镇医院网站建设
  • 企业门户网站模板html上线wordpress博客页面修改
  • 站长工具爱站网弄几个的网站
  • 郑州微网站制作个人怎么进行网站建设
  • 网站建设技术支持有什么整合营销是做什么的
  • 公司网站建设 意义网站后缀是xyz指得是什么
  • 中山华企立方网站建设公司产品开发流程是经营流程
  • 网站建设教程免费下载长春最新通告今天
  • 相亲网站建设策划方案c2c网站制作
  • 网站模板 phpcms2021网络公司排名
  • 如何建设网站效果好亚马逊购物官网入口
  • 建设一个网站论坛要多少钱seo网站推广的主要目的是什么
  • 中国工程建设标准化协会官方网站2021网络营销成功案例
  • 深圳网站建设知名 乐云践新wordpress 模拟登陆
  • 西宁网站建设公司移动互联网开发学习心得
  • asp网站免费模板下载上海网站建设价
  • 海东商城网站建设南京网站制作公司
  • 百度收录的网站标题 --wordpress缩略图加边框
  • 低价做网站wordpress文章美化
  • 2018网站内容和备案wordpress转手机
  • 网站开发合同适用印花税微站官网