1.带绝对路径 - QString video_File;
//mnt/sdcard/
//将路径写入video.txt QString name_file="video.txt"; QFileInfo fileInfo; QString Path; QString filter="视频文件(*.mp4 *.wmv);;mp3文件(*.mp4);;;wmv文件(*.wmv);;所有文件(*.*)"; //文件过滤器 QStringList fileList=QFileDialog::getOpenFileNames(this,"选择视频文件","/home",filter);
if (fileList.count()<1) return;
for (int i=0; i<fileList.count();i++) { video_File=QString("'%1'\n").arg(fileList.at(i));//得到绝对路径 video_File.insert(0, QString("file\t"));//在开头添加字符 Path = QCoreApplication::applicationDirPath()+"/"+name_file;//路径 QDir dir3;
//如果指定的路径不存在时 if(dir3.exists(Path)) {
dir3.mkpath(Path);//创建目录所需的所有父目录 qDebug()<<"路径创建成功";
} QFile file; file.setFileName(Path); bool bOk = file.open(QIODevice::ReadWrite | QIODevice::Append);//以读写切追加写入的方式操作文本 if(bOk) { QByteArray res2 =video_File.toUtf8();//toUtf8()转为QByteArray
file.write(res2);
} file.close();
}
ui->plainTextEdit->clear();
this->He_Bing(name_file); QString data; QFile file(Path); //path是文件的路径 if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) { qDebug()<<"文件未打开!"; } while(!file.atEnd()) { QByteArray array = file.readLine(); QString str(array); // qDebug()<< str; data.append(str); } ui->plainTextEdit->appendPlainText(data);
txt内容如下: file '/home/temp/bin/2.mp4' file '/home/temp/bin/1.mp4' file '/home/temp/bin/0.mp4' 2.去除路径 - QString Widget::He_Bing(QString file_path)
{
//ffmpeg -f concat -i filelist.txt -c copy output.mp4 QString strCmd=QString("ffmpeg -f concat -i %1 -c copy output.mp4").arg(file_path);
qDebug()<<"地址传来:"<<strCmd; QProcess process; // process.setWorkingDirectory(ffmpeg_path); // process.setReadChannel(QProcess::StandardOutput); process.start(strCmd); process.waitForFinished(); qDebug()<<"返回数据:"<<process.readAll(); return process.readAll(); }
void Widget::on_he_bin_clicked() { QString video_File; //mnt/sdcard/
//将路径写入video.txt QString name_file="video.txt"; QFileInfo fileInfo; QString Path; QString filter="视频文件(*.mp4 *.wmv);;mp3文件(*.mp4);;;wmv文件(*.wmv);;所有文件(*.*)"; //文件过滤器 QStringList fileList=QFileDialog::getOpenFileNames(this,"选择视频文件","/home",filter);
if (fileList.count()<1) return;
for (int i=0; i<fileList.count();i++) { QFileInfo fileInfo; fileInfo=fileList.at(i);//去除路径 video_File=QString("file '%1.mp4'\n").arg(fileInfo.baseName());//在开头添加字符
Path = QCoreApplication::applicationDirPath()+"/"+name_file;//路径 QDir dir3;
//如果指定的路径不存在时 if(dir3.exists(Path)) {
dir3.mkpath(Path);//创建目录所需的所有父目录 qDebug()<<"路径创建成功";
} QFile file; file.setFileName(Path); bool bOk = file.open(QIODevice::ReadWrite | QIODevice::Append);//以读写切追加写入的方式操作文本 if(bOk) {
QByteArray res2 =video_File.toUtf8();//toUtf8()转为QByteArray
file.write(res2);
} file.close();
}
ui->plainTextEdit->clear();
QString data; QFile file(Path); //path是文件的路径 if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) { qDebug()<<"文件未打开!"; } while(!file.atEnd()) { QByteArray array = file.readLine(); QString str(array); // qDebug()<< str; data.append(str); } ui->plainTextEdit->appendPlainText(data); this->He_Bing(name_file);
}
txt内容如下: file '2.mp4' file '1.mp4' file '0.mp4'
|