繁体   English   中英

UWP AppWindows 和 MediaTransportation 控件的错误

[英]UWP Bug with AppWindows and MediaTransportation Controls

可能与正确 UWP AppWindow 上的 ContentDialog相关

我有一个应用程序,用户可以在相机上录制他的视频,我有两个 Windows 一个核心 Window 和 AppWindow,应用程序是 UWP,WinUI 2.8

因此,当应用程序启动时,我创建了两个 windows,然后创建了自定义 MediaCapture 服务,然后显示带有记录按钮的控件,如下所示:

<controls:SwitchPresenter Value="{x:Bind IsComplete, Converter={StaticResource BoolToString}, Mode=OneWay}" >
    <controls:Case Value="False">
        <StackPanel Spacing="24" Margin="0 12">
            <Grid BorderBrush="{x:Bind IsRecording, Converter={StaticResource BoolToRecordingConverter}, Mode=OneWay}" 
                  BorderThickness="{x:Bind IsRecordingStarted, Converter={StaticResource BoolToThikness}, Mode=OneWay}">
                <c:CameraPreviewControl Countdown="{x:Bind Countdown, Mode=OneWay}" Time="{x:Bind RecordingTime, Mode=OneWay}" IsRecording="{x:Bind IsRecording, Mode=OneWay}"/>
            </Grid>
            <StackPanel Orientation="Horizontal">
                <!-- STATE COMMANDS -->
            </StackPanel>
        </StackPanel>
    </controls:Case>
    <controls:Case Value="True">
        <StackPanel Spacing="24" Margin="0 12">
            <MediaPlayerElement Source="{x:Bind VideoFile, Mode=OneWay, Converter={StaticResource StorageFileToMediaSource}}" Width="746" Height="560" Stretch="UniformToFill" FlowDirection="RightToLeft" 
                           Style="{StaticResource MYMediaPlayerElementStyle}">
                <MediaPlayerElement.TransportControls >
                    <!-- THATS THE PROBLEM IS -->
                    <MediaTransportControls Style="{StaticResource MYMediaTransportControlsStyle}">
                    <!-- XamlRoot="{x:Bind GetXamlRoot}" -->
                                            IsFastForwardButtonVisible="False"
                                            IsFastRewindButtonVisible="False"
                                            IsNextTrackButtonVisible="False"
                                            IsPreviousTrackButtonVisible="False"
                                            IsRepeatButtonVisible="True"
                                            IsRepeatEnabled="True"
                                            IsStopButtonVisible="False"
                                            IsPlaybackRateButtonVisible="False" 
                                            IsFullWindowEnabled="False" 
                                            IsFullWindowButtonVisible="False" 
                                            IsZoomButtonVisible="False" 
                                            IsPlaybackRateEnabled="False"
                                            IsCompact="True" 
                                            />
                </MediaPlayerElement.TransportControls>
            </MediaPlayerElement>
            <StackPanel Orientation="Horizontal" Visibility="{x:Bind IsFinished, Converter={StaticResource BoolToNegatedVisibility}, Mode=OneWay}">
                <!-- STATE COMMANDS  (OK CANCEL BUTTONS)-->
            </StackPanel>
        </StackPanel>
    </controls:Case>
</controls:SwitchPresenter>

因此,只要在 MediaPlayerElement 上设置 AreTransportControlsEnabled 并且小部件位于 AppWindow 实例中,我就会得到 win32 未处理的异常

如果小部件在核心 Window everthyng 按预期工作,我尝试在那里钻 XamlRoot 但没有成功...

我怀疑这可能与对话框有关,以防万一它想要打开全屏对话框时没有设置正确的 XamlRoot,但我花了两天时间才找到错误的底部,哈哈……但是接下来在同一页面上,我打开具有完全相同 StorageFile 和 MediaPlayer 元素的视频的模态,它仍然按预期工作......所以......不知道那是什么......

如果有人知道如何修复我将非常感激

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM