uwp - 是否有类似 MediaPlayerElement 的控件,但没有视频部分?
问题描述
是否有任何类似于 MediaPlayerElement 但仅用于音频的 UI 控件?或者有什么办法可以删除 MediaPlayerElement 的视频部分?我正在构建一个媒体播放器,但只用于音频,所以我不需要视频部分,这会占用太多空间。
解决方案
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
.
推荐阅读
- javascript - 为什么/在哪里多次调用这个 componentDidMount()?
- function - 什么是镜像位的数学(用函数描述)等价物?
- python - docker hub 你是否为每个图像创建一个存储库
- javascript - 如何使用 Pi Vision Web Api 获取过滤后的数据
- excel - 如果包含部分文本/字符,则 Excel 条件格式
- tensorflow - 如何复制 TF hub 保存的模型架构?
- c++ - 尝试为 Ubuntu 18.04 和 ARM Cortex-A9 交叉编译 C++ 代码时出错
- node.js - 从 BullMQ 完成的作业中检索结果的推荐方法是什么?
- firebase - 从谷歌登录为flutter firebase添加用户数据
- java - Java while 循环最后需要条件变量(为什么?)