Спасибо, что уделили время чтению моего вопроса.
Я разрабатываю приложение на C ++ с использованием Qt и Windows API.
Я записываю звук с микрофона в небольшие аудиофайлы размером 10 с в необработанном формате, и я хочу преобразовать их в формат aac.
Я попытался прочитать как можно больше вещей и подумал, что было бы неплохо начать с API транскодирования Windows Media Foundation.
Проблема в том, что я не могу использовать файл .raw или .pcm в функции CreateObjectFromUrl, поэтому на данный момент я практически застрял здесь. Он продолжает терпеть неудачу. Код возврата hr равен 3222091460. Я попытался передать в функцию файл .mp3, и, конечно же, он работает, поэтому ошибки url-human-error не возникли.
MF_OBJECT_TYPE ObjectType = MF_OBJECT_INVALID;
IMFSourceResolver* pSourceResolver = NULL;
IUnknown* pUnkSource = NULL;
// Create the source resolver.
hr = MFCreateSourceResolver(&pSourceResolver);
if (FAILED(hr))
{
qDebug() << "Failed !";
}
// Use the source resolver to create the media source.
hr = pSourceResolver->CreateObjectFromURL(
sURL, // URL of the source.
MF_RESOLUTION_MEDIASOURCE, // Create a source object.
NULL, // Optional property store.
&ObjectType, // Receives the created object type.
&pUnkSource // Receives a pointer to the media source.
);
MFCreateSourceResolver работает нормально, но CreateObjectFromURL не удается :(
Итак, у меня к вам два вопроса:
- Можно ли кодировать необработанные аудиофайлы в файлы aac с помощью Windows Media Foundation?
- Если да, что я должен прочитать, чтобы достичь того, чего я хочу?
Я хочу указать, что я не могу просто использовать ffmpeg или libav, потому что я не могу позволить себе лицензию на свое программное обеспечение и не хочу, чтобы оно распространялось по лицензии GPL. Но если есть альтернативы основам Windows Media для кодирования необработанных аудиофайлов в aac, я был бы рад их услышать.
И, наконец, извините за мой плохой английский, это явно не мой родной язык, и мне очень жаль, если я заставил ваши глаза кровоточить. (и счастлив, если я рассмешил тебя)
Хорошего дня