Media Foundationを使用してオーディオファイル(mp4、m4a、aac)のエンコードされたビットレートを取得しようとしています。私が何をしたかMedia Foundationはエンコードされたビットレートを取得します
は次のとおりです。
PROPVARIANT prop;
IMFSourceReader* reader;
MFCreateSourceReaderFromURL(filePath, NULL, &reader);
reader->GetPresentationAttribute(MF_SOURCE_READER_MEDIASOURCE, MF_PD_AUDIO_ENCODING_BITRATE,
&prop);
2行目には、エラーで、空PROPVARIATで終わります。
しかし、私が行うとき:
reader->GetPresentationAttribute(MF_SOURCE_READER_MEDIASOURCE, MF_PD_DURATION, &prop);
それは正常に動作します。
問題が何かを知っている人や、オーディオトラックのエンコードされたビットレートを取得する他の方法はありますか?
MSDNに記載されているように、MF_PD_AUDIO_ENCODING_BITRATEはオプションです。私はMF_MT_AUDIO_SAMPLES_PER_SECONDとMF_MT_AUDIO_BITS_PER_SAMPLEのGetUINT32を良くし、そこからビットレートを計算する方が良いと思います。 – VuVirt