cpp で MediaPlayer クラスを使用するカスケード プロジェクトがあります。metaDataChanged イベントを処理するハンドラ クラスを定義しましたが、ソース URL を設定して mediaPlayer.prepare() メソッドを呼び出すと、メタデータで何も取得されないため、単に空の QVariantMap になります。
興味深いのは、定義された metaDataChaned イベントのイベント ハンドラーが呼び出されないことです。
メタデータを取得できるようにここに追加できるものがあると思いますが、準備()メソッドは正常に機能するため、何が問題なのかわかりません
ここに私が試したコードがあります。
bb::multimedia::MediaPlayer* mp = new bb::multimedia::MediaPlayer();
mp->setSourceUrl(resultString);
mp->prepare();
MetaDataReader metaDataReader(mp);
とクラス
MetaDataReader::MetaDataReader(bb::multimedia::MediaPlayer* mediaPlayer) : QObject(NULL)
{
connect(mediaPlayer, SIGNAL(metaDataChanged(const QVariantMap&)), this, SLOT(onMetaDataChanged(const QVariantMap&)));
}
void MetaDataReader::onMetaDataChanged(const QVariantMap& metaData)
{
someCode
// It doesn't reach this SLOT
}
ここでメタデータを取得するにはどうすればよいですか?
前もって感謝します