【问题标题】:Is there a control like MediaPlayerElement, but without the video part?是否有类似 MediaPlayerElement 的控件,但没有视频部分?
【发布时间】:2020-08-24 08:04:06
【问题描述】:

是否有任何类似于 MediaPlayerElement 但仅用于音频的 UI 控件?或者有什么办法可以删除 MediaPlayerElement 的视频部分?我正在构建一个媒体播放器,但只用于音频,所以我不需要视频部分,这会占用太多空间。

【问题讨论】:

    标签: uwp


    【解决方案1】:

    (免责声明:我从未专门使用过 UWP)

    使用MediaPlayerElement,但给它一个明确的高度,以便视频/海报帧区域折叠(假设您使用默认的Stretch="Uniform"Stetch="UniformToFill")。

    【讨论】:

      【解决方案2】:

      MediaPlayerElement不是专门用来播放视频的,它也可以播放音频。它只是一个携带媒体的控件。

      您只需要提供一个音频源。不输入视频源时,MediaPlayerElement不会显示视频区域。

      Xaml

      <Grid x:Name="MediaContainer" Height="100">
          <MediaPlayerElement x:Name="MyPlayer"
                          AreTransportControlsEnabled="True"
                          AutoPlay="True"
                          >
              <MediaPlayerElement.TransportControls>
                  <MediaTransportControls ShowAndHideAutomatically="False"
                                                   x:Name="MyPlayerControls"
                                                   IsZoomButtonVisible="False"
                                                   IsFullWindowButtonVisible="False"
                                                   IsFastRewindButtonVisible="True"
                                                   IsFastForwardEnabled="True"
                                                   IsFastForwardButtonVisible="True"
                                                   IsFastRewindEnabled="True"
                                                   />
              </MediaPlayerElement.TransportControls>
          </MediaPlayerElement>
      </Grid>
      

      Xaml.cs

      private MediaSource _mediaSource = null;
      private MediaPlayer _mediaPlayer = null;
      
      public void InitMedia(string audioUri)
      {
          if (_mediaPlayer == null)
          {
              _mediaPlayer = new MediaPlayer();
              MyPlayer.SetMediaPlayer(_mediaPlayer);
          }
          _mediaSource = MediaSource.CreateFromUri(new Uri(audioUri));
          _mediaPlayer.Source = _mediaSource;
      }
      

      MediaPlayer本身就是一个没有UI的播放器。 MediaPlayerElement 提供MediaTransportControls 来控制播放进度。如果你不需要这个集成控制面板,你也可以围绕MediaPlayer构建自己的播放体验。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-07
        相关资源
        最近更新 更多