zoukankan      html  css  js  c++  java
  • 【wpf基础】wpf MediaElement全屏播放视频功能

     最近在研究如何将视频全屏播放,一开始思路A:弹窗将MediaElement对象add到一个新的全屏窗体,报错

    指定的元素已经是另一个元素的逻辑子元素。请先将其断开连接。

    后续转换思路B:将本窗体其他控件隐藏掉,然后窗体最大化,去掉边框,然后把MediaElement设置成屏幕的宽高。

     点击【播放】,加载视频

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    namespace WpfApplication1
    {
        /// <summary>
        /// MainWindow.xaml 的交互逻辑
        /// </summary>
        public partial class MainWindow : Window
        {
            MediaElement myPlayer = new MediaElement();
    
            public MainWindow()
            {
                InitializeComponent();
    
                myPlayer.Margin = new Thickness(1, 1, 1, 1);
                myPlayer.Width = ActualWidth;
                myPlayer.Height = ActualHeight;
    
                myPlayer.LoadedBehavior = MediaState.Manual;
                var mp4_path = AppDomain.CurrentDomain.BaseDirectory + "video.mp4";
                myPlayer.Source = new Uri(mp4_path, UriKind.RelativeOrAbsolute);
    
                (Content as Grid).Children.Add(myPlayer);
            }
    
            void myContent_MouseDoubleClick(object sender, MouseButtonEventArgs e)
            {
                if (FullScreenHelper.IsFullscreen(this))
                    FullScreenHelper.ExitFullscreen(this);
                else
                    FullScreenHelper.GoFullscreen(this);
            }
    
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                myPlayer.Play();
            }
    
            private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
            {
                myPlayer.Width = ActualWidth;
                myPlayer.Height = ActualHeight;
            }
    
        }
    }
    View Code

     双击视频,全屏播放

    有需要这个效果的可以参考

    源码:http://pan.baidu.com/s/1mi8qII8

  • 相关阅读:
    Ubuntu vim java 自动补全javacomeplete2
    vim多行注释和取消注释 Ubuntu
    vim tab设置为4个空格
    liunx 命令行快捷键 常用命令
    win7 +v Ubuntu 16.04 grub rescue 模式下修复 grub
    Ubuntu16.04安装WPS
    liunx ubuntu java 环境的配置
    Vim简明教程【CoolShell】(转)
    ubuntu16.04安装chrome
    android全屏下的输入框未跟随软键盘弹起问题
  • 原文地址:https://www.cnblogs.com/jhli/p/6195434.html
Copyright © 2011-2022 走看看