"MF_E_INVALIDTYPE" Fehler beim Aufzeichnen von Audio ein AVI-Senke mit MediaCapture-API

Problembeschreibung

Beim Aufzeichnen von Audio zu einer AVI-Senke mit Windows Runtime Windows.Media.Capture.MediaCapture-API mit der AudioEncodingQuality.Auto voreingestellt, erhalten Sie eine Fehlermeldung "MF_E_INVALIDTYPE".

Ursache

Dieses Problem tritt auf, weil die AVI-Senke die gewünschte Abtastrate nicht unterstützt.

AVI-Senke unterstützt derzeit nur die folgenden Abtastrate für Audio:

  • 22050 Hz

  • 44100 Hz

  • 48000 Hz

  • 96000 Hz


Einige Mikrofone verwenden unterschiedliche Abtastraten wie 16000 Hz. Wenn Sie versuchen, in eine AVI-Container mit "Auto" Audio aufnehmen voreingestellt, Windows-Runtime Ebene versucht aufzeichnungsparameter, die die Aufnahmequelle so weit wie möglich entsprechen. Dieses Verhalten möglicherweise nicht unterstützten Abtastraten.

PROBLEMUMGEHUNG

Um dieses Problem zu umgehen, manuell die Sampling-Rate 22050 Hz, 44.100 Hz, 48000 Hz oder 96000 Hz anstatt die Voreinstellung "Automatisch". In den folgenden Beispielen finden Sie um die Sampling-Rate festgelegt.

    var mediaCapture = new Windows.Media.Capture.MediaCapture();    await mediaCapture.InitializeAsync();

var encodingProfile = Windows.Media.MediaProperties.MediaEncodingProfile.CreateAvi(Windows.Media.MediaProperties.VideoEncodingQuality.Auto);
// When you record audio to an AVI container, set the "SampleRate" explicitly in order to avoid the "Invalid Type" error.
// The supported values are 22050, 44100, 48000 and 96000.
encodingProfile.Audio.SampleRate = 44100;

var stream = new Windows.Storage.Streams.InMemoryRandomAccessStream();
await mediaCapture.StartRecordToStreamAsync(encodingProfile, stream);


    m_mediaCapture = ref new Windows::Media::Capture::MediaCapture();    create_task(m_mediaCapture->InitializeAsync()).then([this](task<void> initTask)
{
initTask.get();

auto encodingProfile = Windows::Media::MediaProperties::MediaEncodingProfile::CreateAvi(Windows::Media::MediaProperties::VideoEncodingQuality::Auto);
// When you record audio to an AVI container, set the "SampleRate" explicitly in order to avoid the "Invalid Type" error.
// The supported values are 22050, 44100, 48000 and 96000.
encodingProfile->Audio->SampleRate = 44100;

auto stream = ref new Windows::Storage::Streams::InMemoryRandomAccessStream();
m_mediaCapture->StartRecordToStreamAsync(encodingProfile, stream);
});


    var mediaCapture = new Windows.Media.Capture.MediaCapture();    mediaCapture.initializeAsync().done(function () {
var encodingProfile = Windows.Media.MediaProperties.MediaEncodingProfile.createAvi(Windows.Media.MediaProperties.VideoEncodingQuality.auto);
// When you record audio to an AVI container, set the "SampleRate" explicitly in order to avoid the "Invalid Type" error.
// The supported values are 22050, 44100, 48000 and 96000.
encodingProfile.audio.sampleRate = 44100;

var stream = new Windows.Storage.Streams.InMemoryRandomAccessStream();
mediaCapture.startRecordToStreamAsync(encodingProfile, stream);
},
function () {
document.title = "Error occured";
}, null);


Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×