首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UWP Windows.Media.Playback -停止/卸载剪辑

UWP Windows.Media.Playback -停止/卸载剪辑
EN

Stack Overflow用户
提问于 2017-02-01 18:44:11
回答 2查看 1.8K关注 0票数 3

我正在编写一个包含MediaPlayer对象的UWP应用程序。我想编程一个停止按钮来停止媒体并将媒体设置为黑色,但是我找不到一种方法来做到这一点,除了加载一个简短的‘黑色’剪辑作为内部资产或通过合成器隐藏元素。

MediaPlayer不具有停止、仅播放/暂停的功能,此外,将媒体源设置为null只是暂停播放并在所示的最后一帧冻结,而不是下降到黑色。

任何建议都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2018-03-19 22:45:23

我最近遇到了一个相关的问题,归根结底就是从MediaPlayerElement卸载媒体。

如果您在播放处于活动状态时离开页面,则MediaPlayerElement不会挂起或卸载正在进行的播放,因此用户将继续听到音频。如果您重新打开播放器页面,将会创建一个播放器控件的新实例,用户可能会同时听到多个音轨(尽管这需要不同的媒体源)。因此,必须在播放器的Unloaded事件处理程序、页面Unloaded处理程序或OnNavigatingFrom/OnNavigatedFrom覆盖等位置卸载媒体。

无论如何,下面的代码停止并从MediaPlayerElement卸载视频/剪辑/媒体。

代码语言:javascript
复制
MyMediaPlayerElement.MediaPlayer.Pause();
MyMediaPlayerElement.Source = null;

实际上,null赋值行可以很好地作为stop-and-unload,但由于到目前为止(2018年3月19日),MS文档似乎没有介绍如何将源代码置为无效,我更喜欢在这里保留对Pause()的其他不必要的调用。

票数 2
EN

Stack Overflow用户

发布于 2017-02-07 16:20:53

MediaPlayer没有停止功能,只有播放/暂停功能

正如您所知道的,MediaPlayerElement在默认情况下没有stop方法。由于MediaPlayerElement是1607版本的新版本,因此对于早期版本的Windows10,我们使用的是MediaElement,因此您可以简单地使用MediaElementMediaElement具有Stop方法,在您调用stop方法之后,MediaElement将显示为黑色,并将媒体设置为begin,这正是您想要的。代码如下:

代码语言:javascript
复制
 <MediaElement x:Name="mediaelement" AreTransportControlsEnabled="True" Height="400" Width="400" AutoPlay="True" Source="http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4"></MediaElement>
 <Button x:Name="btnstop" Click='btnstop_Click' Content="stop"></Button>

代码隐藏:

代码语言:javascript
复制
private void btnstop_Click(object sender, RoutedEventArgs e)
{
    mediaelement.Stop();             
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41977720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档