C++ 20x WinUI a WinRT: prehranie videa cez MediaPlayerElement

Dobrý večer prajem,

v MainWindow.xaml mám takýto element:

Kód: [Vybrat]
<MediaPlayerElement x:Name="mediaPlayer" AreTransportControlsEnabled="True" />
A v MainWindow.cpp mám takýto kód:

Kód: [Vybrat]
IAsyncAction winrt::MaximHorizon::implementation::MainWindow::play()
{
    auto mediaFile = co_await StorageFile::GetFileFromPathAsync(
        L"e:\\Movies\\TestClip.mkv"
    );
    auto mediaSource = MediaSource::CreateFromStorageFile(mediaFile);
    mediaPlayer().Source(mediaSource);
}

void winrt::MaximHorizon::implementation::MainWindow::openButton_Click(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::RoutedEventArgs const& e)
{
    play();
}

Zatiaľ je tam hardcodnutá cesta k testovaciemu videosúboru, neskôr vymením. Po kliknutí na openButton sa načíta súbor aj sa správne vypíše dĺžka trvania klipu v komponente MediaPlayerElement.

Lenže po kliknutí na button play (trojuholník na MediaPlayerElement) mi systém vyhodí exception:

Adjusted video area is smaller than supported by format

Ako to mám fixnúť prosím Vás? Vopred díky.

podrobnosti chyby:

Kód: [Vybrat]
'MaximHorizon.exe' (Win32): Loaded 'C:\Windows\System32\mfaudiocnv.dll'.
Exception thrown at 0x00007FFF8197CD29 (KernelBase.dll) in MaximHorizon.exe: WinRT originate error - 0xC00D5212 : 'Decoder error'.
Exception thrown at 0x00007FFF8197CD29 (KernelBase.dll) in MaximHorizon.exe: WinRT originate error - 0x80070057 : 'Adjusted video area is smaller than supported by format'.
onecoreuap\windows\frameworkudk\ntadapter\mediaextensionsntadapter.cpp(37)\Microsoft.Internal.FrameworkUdk.dll!00007FFEF2594036: (caller: 00007FFEF25F47EA) FailFast(1) tid(677c) 80004002 No such interface supported
Unhandled exception at 0x00007FFF81A5FE32 (KernelBase.dll) in MaximHorizon.exe: Fatal program exit requested.
« Poslední změna: 17. 01. 2023, 08:01:53 od Petr Krčmář »