标签: mediaelement

如何确定MediaElement是否正在播放?

看起来很简单,但我无法找出任何方法来确定MediaElement的状态.某些状态有各种属性(例如IsBuffering)但我找不到任何状态,如Play,Pause等.Silverlight似乎有一个显示所有这些状态的CurrentState属性.

目前,我正在确定视频是否应该正在播放的方式是观看各种事件以及检查是否正在进行任何进展的计时器.

我是MediaElement和WPF的新手(我实际上只在WinForms应用程序中使用MediaElement).有什么我想念的吗?

wpf mediaelement

28
推荐指数
3
解决办法
2万
查看次数

为什么WPF MediaElement无法在辅助监视器上运行?

我的应用程序使用WPF MediaElement来播放视频(MOV文件).这在主监视器上播放时效果很好,但在窗口移动到辅助监视器时会冻结.

我试过以下没有成功:

  1. 在辅助监视器上启动应用程序
  2. 交换主监视器和辅助监视器(问题转移到新的辅助监视器)

当应用程序窗口跨越两个监视器时,它可以正常工作,但只要它完全位于辅助监视器内,视频就会冻结.一旦处于此状态,将应用程序移回主监视器将无济于事(并且加载新视频也无济于事).

安排监视器使坐标始终为正(两个监视器均为1920x1080,辅助监视器原点为1920,0).

有没有其他人看到这个问题和/或找到了修复?

编辑

有没有人使用WPF MediaElement与多个监视器???

wpf multiple-monitors mediaelement

19
推荐指数
1
解决办法
6177
查看次数

如何在辅助显示中设置WPF窗口位置

我有两个显示器.我想制作一个媒体播放器,我想在我的辅助显示器上全屏播放视频.所以我正在尝试使用WPF制作媒体播放器

这是我写的代码到目前为止

Screen[] _screens = Screen.AllScreens;
System.Drawing.Rectangle ractagle = _screens[1].Bounds;
//player is  my window
player.WindowState = WindowState.Maximized;
player.WindowStyle = WindowStyle.None;

player.Left = ractagle.X;
player.Top = ractagle.Y;


// MediaControl is an media elements
MediaControl.Height = ractagle.Height;
MediaControl.Width = ractagle.Width;
Run Code Online (Sandbox Code Playgroud)

但不知何故,它只是在我的第一个显示器上播放.非常感谢任何形式的帮助.

.net c# wpf mediaelement media-player

19
推荐指数
2
解决办法
2万
查看次数

MVVM模式违规:MediaElement.Play()

我知道ViewModel不应该具有View的任何知识,但我如何从ViewModel调用MediaElement.Play()方法,而不是在ViewModel中引用View(或直接引用MediaElement)?
其他(链接)问题:如何在不违反MVVM模式的情况下从ViewModel管理View的控件可见性?

wpf visibility mediaelement mvvm

18
推荐指数
2
解决办法
8673
查看次数

在WPF MediaElement中显示第一帧视频

我有一个带有MediaElement的WPF应用程序,我用它来运行视频.我不希望视频在加载时自动播放,因此我将LoadedBehavior设置为Manual.

<MediaElement LoadedBehavior="Manual" 
              Source="foo.wmv" 
              MediaOpened="videoElement_MediaOpened" />
Run Code Online (Sandbox Code Playgroud)

然而; 我希望元素在加载时显示视频的第一帧.这有什么神奇的方法吗?

.net wpf video mediaelement

16
推荐指数
2
解决办法
1万
查看次数

MediaElement Windows Phone 8的速度比

我想MediaElementWindows Phone 8中为我的对象手动设置速度比.没有SpeedRatio属性,我似乎无法使用SmoothStreamingMediaElement (Microsoft.Web.Media.SmoothStreaming命名空间的一部分).

MediaElement对于Windows Phone 8,还有其他方法可以设置我的速度(我需要减慢播放速度)吗?

谢谢!

c# xaml mediaelement windows-phone-8

14
推荐指数
1
解决办法
1073
查看次数

MediaElement网络视频不会停止缓冲

我使用MediaElement播放网络视频.当我离开页面时,我注意到在任务管理器中我的应用程序仍在使用10%的网络并且在完成下载视频之前没有掉线.

我尝试过以下但没有运气.

    //open link;
    mediaElement.Source = welcomeVideoURL;

    //when I leave the page OnNavigatedFrom()
    mediaElement.Stop();
    mediaElement.ClearValue(MediaElement.SourceProperty);
    mediaElement.Source = null;
Run Code Online (Sandbox Code Playgroud)

还尝试将源设置为虚拟链接但仍然没有运气.

我认为打开链接作为流和使用mediaElement.SetSource()可以工作,但我没有发现任何东西......也许我没有找到正确的.

谢谢.

c# mediaelement windows-8.1 win-universal-app

13
推荐指数
1
解决办法
932
查看次数

如果移动到其他屏幕,WPF MediaElement将停止播放

我遇到了一个非常奇怪的问题,MediaElement似乎与多屏幕环境有关:偶尔(我不能每次都复制问题)当我将窗口从屏幕拖到另一个窗口时MediaElement停止播放.这种奇怪的行为也发生在一个非常基本的代码中:

public MainWindow()
{
    InitializeComponent();
}

protected override void OnSourceInitialized(EventArgs e)
{
    media.Play();
    base.OnSourceInitialized(e);
}
Run Code Online (Sandbox Code Playgroud)

<Window x:Class="Test.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <MediaElement LoadedBehavior="Manual" 
                      Name="media" 
                      Source="C:\Users\Maurizio\Desktop\Pulp Fiction.avi"/>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

有没有人经历过(并最终解决)任何类似的问题?

c# wpf mediaelement multiscreen

10
推荐指数
1
解决办法
2261
查看次数

WPF,如何确定MediaElement何时播放完电影?

我正在我的应用程序上显示一部电影,我希望应用程序只播放一次.当它完成播放时我想启用一些按钮(播放,倒带,再次观看等等)但是有什么方法可以在电影结束时获得一个事件 - 或任何可以完成这个场景的事情?

干杯,

wpf mediaelement

9
推荐指数
1
解决办法
6910
查看次数

使用MediaElement从Stream播放视频

是否可以使用WPF MediaElement从System.IO.Stream对象播放流式视频?正在从存储媒体文件的WCF服务检索Stream对象.

c# wpf wcf mediaelement

9
推荐指数
4
解决办法
5万
查看次数