M3U フォーマットでプレイリストを作成できるように、曲の長さを秒単位で知りたいのですが、ファイルからその情報を取得する方法がわかりません。私はid3libとQtを使用しています。
私はもう試した:
ID3_Frame* myFrame = myTag.Find(ID3FID_SONGLEN);
ID3_Frame* myFrame = myTag.Find(ID3FID_TIME);
ID3_Frame* myFrame = myTag.Find(ID3FID_SIZE);
しかし、myFrame は NULL でした。のように、他のパラメーターを試して動作しましID3FID_ALBUM
た。何を試せばいいのかわからない。id3lib API には何も見つかりませんでした。
Qtがその情報を提供できることは知っていますが、id3libを使用できませんか?
後で編集:MediaObject::totalTime()
曲が再生された場合にのみ時間が表示されることを読みましたが、曲が再生されているかどうかに関する情報が必要です。ファイルに書き込むには、この情報が必要です。
後で編集:
長さについて Qt の Phonon を使用しようとしていますが、多くのエラーが発生します。
#include <Phonon/MediaSource>
#include <Phonon/MediaObject>
#include <iostream>
#include <Qstring>
/* stuff */
Phonon::MediaObject *mediaObject = new Phonon::MediaObject();
QString fileName("D:/melodie.mp3");
mediaObject->setCurrentSource(fileName);
cout << mediaObject->totalTime() << endl;
未解決の外部シンボルが大量に発生する
main.obj:-1: エラー: LNK2019: 未解決の外部シンボル "__declspec(dllimport) public: __thiscall Phonon::MediaObject::MediaObject(class QObject *)" (_ imp ??0MediaObject@Phonon@@QAE@PAVQObject@@ @Z) 関数 _main で参照
私は QCreator を使用しています。私のアプリケーションはシンプルで、こんにちはと言うウィンドウだけです (Phonon を使用しない場合は機能します)。実行できません。静的メディアオブジェクトを割り当てました。MediaSource を作成して渡そうとしましたが、機能しません (ここでは、MediaSource* から MediaSource & に変換できないと言っています)。何が問題なのですか?