0

Mingw を使用して taglib 1.8 を正常にコンパイルし、それを Qt プロジェクトに統合しました。目的は、mp3 ファイルから ID3 タグを削除することです。

このコード:

void MainWindow::removeTagFromFile(QByteArray &fileContent)
{
    TagLib::ByteVector byteVector(fileContent.constData());
    TagLib::ID3v2::FrameFactory *frame = TagLib::ID3v2::FrameFactory::instance();
    TagLib::IOStream *vectorStream = new TagLib::ByteVectorStream(byteVector);
    TagLib::MPEG::File file(vectorStream, frame);
    file.strip();
    file.save();
}

XPでコンパイルして正常に動作します。コンパイルしても、Windows 7 で期待どおりに動作しません。「XP でコンパイルされた .exe」を 7 に変更しても、問題は解決しません。

変ですか?これは Taglib のバグだと思いますが、意味はありますか? アイデアや説明は大歓迎です。よろしくお願いします。

プロジェクトはこちらからダウンロードできます

Qt プロジェクトへのコンパイルと統合の詳細について、フランス語でチュートリアルを書いています。興味のある人がいる場合は、英語で書きます。

4

1 に答える 1

0

さて、最後に、それはXPやSevenの問題ではなく、コンピュータにインストールされているコーデックに関するものです。

簡単な解決策があります。フォノンで読み取れるようにするためにmp3ファイルからID3タグを削除する必要はありません。必要なのは、K-Liteコーデックをインストールすることだけです。

説明:PhononバックエンドはWindowsでDirectShowを使用してmp3ファイルを読み取ります。K-Liteコーデックパックは、DirectShowフィルター、VFW / ACMコーデック、およびツールのコレクションです。オーディオおよびビデオ形式のエンコードとデコードには、コーデックとDirectShowフィルターが必要です。

K-Liteをインストールすると、いくつかのmp3ファイルでフォノンの問題が解決します。

これにより、Windows上のmp3ファイルでフォノンに苦しむ人が救われることを願っています。

于 2012-10-19T10:14:02.957 に答える