簡體   English   中英

Qt - 將 2 個或更多 .mp3 文件合並為一個文件

[英]Qt - Merge 2 or more .mp3 files to a single file

假設我有 1.mp3 文件的兩個或多個部分,例如:

  • x1.mp3
  • x2.mp3
  • x3.mp3

問題是,如何使用Qt / C++將這些文件(即 x1.mp3 & x2.mp3 & 和 x3.mp3 合並到單個x.mp3中。 將文件合並在一起時,我想處理從 x1.mp3、x2.mp3 和 x3.mp3 到x.mp3元數據,以便媒體播放器在讀取最終文件時不會混淆,因為我可能需要任何3 個可用縮略圖之一,並增加最終文件x.mp3和其他重要內容中音頻的總持續時間......

我試過這個但它會導致元數據問題:

QList<QFile> files;
QFile file1("x1.mp3"), file2("x2.mp3"), file3("x3.mp3");
files << file1;
files << file2;
files << file3; 
QFile outputFile("x.mp3");
for(auto &file: files) {
    file.open(QIODevice::ReadOnly);
    outputFile.write(file.readAll());
}

outputFile.flush();
outputFile.close();

嘗試 ffmpeg 合並這些 mp3 文件怎么樣,因為 mp3 有自己的格式,直接合並它們只會創建損壞的 mp3。

AFAIK ffmpeg 也可以管理元數據的東西

這樣做的步驟:

  1. 將 ffmpeg 可執行文件放在程序的相對目錄中
  2. 在你的程序中生成一個 ffmpeg 命令
  3. 也許在線程中運行命令或使用 pthread 執行它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM