首页 > 解决方案 > 是否有类似 MediaPlayerElement 的控件,但没有视频部分?

问题描述

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

标签: uwp

解决方案


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.


推荐阅读