Ich möchte Windows Media Foundation verwenden, um die Audiodaten einer AAC-codierten Datei abzurufen. Ich fand heraus, dass der richtige Weg ist, ein IMFSample * zu deklarieren, in dem das einzelne Sample des Audiomaterials gespeichert wird. In VS2015 sehe ich, dass diese Klasse eine Methode getDouble() hat, aber es gibt nichts darüber in der MSDN documentation.Windows Media Foundation: Erhalten von dekodierten AAC-Daten
Hier ist der Teil von Beispiel ich zu tun versucht:
IMFSample *pSample(NULL);
hr = m_pReader->ReadSample(
MF_SOURCE_READER_FIRST_AUDIO_STREAM, // [in] DWORD dwStreamIndex,
0, // [in] DWORD dwControlFlags,
NULL, // [out] DWORD *pdwActualStreamIndex,
&dwFlags, // [out] DWORD *pdwStreamFlags,
×tamp, // [out] LONGLONG *pllTimestamp,
&pSample); // [out] IMFSample **ppSample
Das letzte Argument PSAMPLE ist das, was ich will.
Nun möchte ich Doppel, Float oder Byte-Zeiger auf die aktuellen decodierten Beispieldaten erhalten.
Wie kann das gemacht werden?
Vielen Dank im Voraus.
Danke für die Antwort Mike. Ich habe eine andere Frage. Die Daten, die wir daraus erhalten, sind die nicht dekodierten Rechte? – mbaros
@mbaros Dies sind die dekodierten Daten - eine Liste von Fließkommazahlen [im Bereich 0 bis 1.0], die die Rohproben repräsentieren. –