当前位置: 首页 > news >正文

WPF 控件专题 MediaElement控件详解

1、MediaElement 介绍

MediaElement:表示包含音频和/或视频的控件。

    MediaOpened在引发事件之前,ActualWidth控件将ActualHeight报告为零,因为媒体内容用于确定控件的最终大小和位置。 对于仅音频内容,这些属性始终为零。

对于固定大小控件, Width 可以设置和/或 Height 属性。 但是,若要保留媒体的纵横比,请设置或Height属性,但不能同时设置Width这两者。

**************************************************************************************************************

2、常用属性介绍

    Balance:获取或设置扬声器的音量比。
    
    BufferingProgress:获取一个值,该值指示已完成的缓冲进度的百分比。
    
    CanPause:获取一个值,该值指示是否可暂停媒体。
    
    Clock:获取或设置与控制媒体播放的 MediaTimeline 关联的时钟。
    
    DownloadProgress:获取一个百分比值,该值指示为位于远程服务器上的内容完成的下载量。
    
    HasAudio:获取一个值,该值指示媒体是否具有音频。
    
    HasVideo:获取一个值,该值指示媒体是否具有视频。
    
    IsBuffering:获取一个值,该值指示媒体是否正在缓冲。
    
    IsMuted:获取或设置一个值,该值指示是否已静音。
    
    LayoutTransform:获取或设置在执行布局时应该应用于此元素的图形转换方式。
    
    LoadedBehavior:获取或设置媒体的加载行为 MediaState。是一个枚举,
        Manual    预加载但不播放
        Play    直接播放
        Pause    暂停播放
        Close    释放媒体资源(包括内存)
        Stop    停止(不会释放资源)
    
    NaturalDuration:获取媒体的自然持续时间。

    NaturalVideoHeight:获取与媒体关联的视频的高度。

    NaturalVideoWidth:获取与媒体关联的视频的宽度。
    
    Position:通过媒体的播放时间获取或设置进度的当前位置。
    
    RenderTransform:获取或设置影响此元素的呈现位置的转换信息。 这是依赖项属性。

    RenderTransformOrigin:获取或设置由 RenderTransform 声明的任何可能呈现转换的中心点,相对于元素的边界。
    
    Source:获取或设置 MediaElement 上的媒体源。

    SpeedRatio:获取或设置媒体的速率。

    Stretch:所呈现的媒体的拉伸值,枚举类型。主要用于视频播放。默认为Uniform:在保留内容原有纵横比的同时调整内容的大小,以适合目标尺寸。None:内容保持其原始大小。

    StretchDirection:获取或设置一个值,该值确定有关应用于图像的缩放的限制。
    
    Volume:获取或设置媒体的音量。
    
    Opacity:透明度 ,1为不透明 0为透明 0.5半透明。

**************************************************************************************************************

3、注册事件以及事件触发条件

    MediaOpened        当媒体被成功地打开时
    
    MediaFailed        当媒体未能被成功地打开时
    
    MediaEnded        当媒体播放到末尾时
    
    CurrentStateChanged        播放状态(CurrentState)发生改变时
    
    DownloadProgressChanged        下载进度(DownloadProgress)发生变化时
    
    BufferingProgressChanged    缓冲进度(BufferingProgress)发生变化时

**************************************************************************************************************

具体代码示例参考后面的文章 “WPF 多媒体MediaElement 的使用(一)”和“WPF 多媒体MediaElement 的使用(二)”

**************************************************************************************************************

相关文章:

WPF 控件专题 MediaElement控件详解

1、MediaElement 介绍 MediaElement:表示包含音频和/或视频的控件。 MediaOpened在引发事件之前,ActualWidth控件将ActualHeight报告为零,因为媒体内容用于确定控件的最终大小和位置。 对于仅音频内容,这些属性始终为零。 对于固…...

基于SpringBoot+SpringCloud+Vue前后端分离项目实战 --开篇

本文目录前言做项目的三大好处强强联手(天狗组合)专栏作者简介专栏的优势后端规划1. SpringBoot 和 SpringCloud 的选择2. Mybatis 和 MybatisPlus 和 JPA 的选择3. MySQL 和 Mongodb 的选择4. Redis 和 RocketMQ5. 后端规划小总结后端大纲提前掌握的知识点一期SpringBoot二期S…...

循环队列的实现

我们知道队列的实现可以用单链表和数组,但是循环链表也可以使用这两种方式。首先我们来看看单链表:首先使用单链表,我们需要考虑循环队列的一些特点。单链表实现循环队列我们要考虑几个核心问题:首先我们要区别 解决 空 和 满 的问…...

MTK平台开发入门到精通(休眠唤醒篇)休眠唤醒LPM框架

文章目录 一、lpm驱动源码分析二、设备属性调试文件沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇文章将介绍 lpm 驱动源码分析。 mtk 平台下,其默认的 lpm 机制的源码位置:drivers/misc/mediatek/lpm/ 一、lpm驱动源码分析 目录:drivers/misc/mediatek/lpm/…...

ThreadLocal详解

一、ThreadLocal简介 1、简介 ThreadLocal叫做线程变量,它是一个线程的本地变量,意味着这个变量是线程独有的,是不能与其他线程共享的。这样就可以避免资源竞争带来的多线程的问题。 即 ThreadLocal类用来提供线程内部的局部变量&#xff0…...

利用Cookie劫持+HTML注入进行钓鱼攻击

目录 HTML注入和cookie劫持: 发现漏洞 实际利用 来源 HTML注入和cookie劫持: HTML注入漏洞一般是由于在用户能够控制的输入点上,由于缺乏安全过滤,导致攻击者能将任意HTML代码注入网页。此类漏洞可能会引起许多后续攻击&#…...

【接口汇总】常用免费的API

短信API 短信验证码:可用于登录、注册、找回密码、支付认证等等应用场景。支持三大运营商,3秒可达,99.99%到达率,支持大容量高并发。 通知短信:当您需要快速通知用户时,通知短信是最快捷有效的…...

数字信号处理知识点

数字信号处理知识点1 频谱图中,横坐标取值范围的含义2 MATLAB常用函数2.1 波形产生2.2 滤波器分析2.3 滤波器实现2.4 线性系统变换2.5 滤波器设计2.5.1 FIR滤波器2.5.2 IIR滤波器2.6 Transforms(变换)2.7 统计信号处理和谱分析2.8 Windows(窗函数)2.9 Parametric Mo…...

计算机网络第八版——第三章课后题答案(超详细)

第三章 该答案为博主在网络上整理,排版不易,希望大家多多点赞支持。后续将会持续更新(可以给博主点个关注~ 第一章 答案 第二章 答案 【3-01】数据链路(即逻辑链路)与链路(即物理链路)有何区…...

九龙证券|磷酸亚铁锂是什么?磷酸亚铁锂的特点和性能介绍

磷酸亚铁锂是一种新式锂离子电池电极资料,化学式:LiFePO4,磷酸亚铁锂为近来新开发的锂离子电池电极资料,首要用于动力锂离子电池,作为正极活性物质运用,人们习气也称其为磷酸铁锂。 磷酸亚铁锂的特色和功能…...

3D目标检测(二)—— 直接处理点云的3D目标检测网络VoteNet、H3DNet

前言上次介绍了基于Point-Based方法处理点云的模块,3D目标检测(一)—— 基于Point-Based方法的PointNet点云处理系列,其中相关的模块则是构成本次要介绍的,直接在点云的基础上进行3D目标检测网络的基础。VoteNet对于直接在点云上预…...

Java学习-IO流-常用工具包(hutool)

Java学习-IO流-常用工具包(hutool) hutool工具包 DateUtil:日期时间工具类 TImeInterval:计时器工具类 StrUtil:字符串工具类 HexUtil:16进制工具类 HashUtil:Hash算法类 ObjectUtil&#xff1…...

【LeetCode】1. 两数之和

题目链接:https://leetcode.cn/problems/two-sum/ 📕题目要求: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入…...

【数值模型环境搭建】Intel编译器安装

Intel编译器在数值模型编译中被广泛使用,它有一个很好的地方是自带Mpich,不需要额外安装。本文介绍Intel2018.1.163版本的安装。 1、安装包获取 Intel编译器可从官网下载下载: https://www.intel.cn/content/www/cn/zh/homepage.html 或者…...

操作VMware vCenter Converter 实现物理机迁移到虚拟机

实验目的:熟练VMware虚拟化项目中,物理机向ESXI5迁移操作过程。 1、打开VMwarevCenterConverterStandalone5.0软件,按“转换计算机”。 2、选择“已打开电源的计算机”。并输入远程要连接迁移物理机IP地址,登录帐户和密码。 然后…...

hutool XML反序列化漏洞(CVE-2023-24162)

漏洞简介 Hutool 中的XmlUtil.readObjectFromXml方法直接封装调用XMLDecoder.readObject解析xml数据,当使用 readObjectFromXml 去处理恶意的 XML 字符串时会造成任意代码执行。 漏洞复现 我们在 maven 仓库中查找 Hutool ​https://mvnrepository.com/search?…...

Java简单认识泛型——图文详解

写在开头:想必大家和博主一样,在以往学习JavaSE的语法中,遇到了一个陌生的词——泛型,博主当时很好奇,什么是泛型呢?即使是学完了JavaSE,这个问题都没有解决,只能在百度查阅了解关于泛型的一些皮…...

AcWing171.送礼物

题目描述 达达帮翰翰给女生送礼物,翰翰一共准备了NNN 个礼物,其中第 iii 个礼物的重量是 G[i]G[i]G[i]。 达达的力气很大,他一次可以搬动重量之和不超过 WWW 的任意多个物品。 达达希望一次搬掉尽量重的一些物品,请你告诉达达在…...

领域驱动设计-架构篇

目录 1、软件架构概述 1.1 软件架构概念 1.2 软件架构分类 1.3 软件架构模式 1.4 软件架构风格 2、领域驱动软件架构 2.1 架构风格 六边行架构(领域驱动设计首选) 为什么选择REST架构 松耦合 可伸缩性 易用性 约束性 2.2 架构模型 命令和…...

docker安装kafka

前言最近在用kafka做项目,所以本地搭建下kafka,但是又嫌java安装和安装kafka太麻烦,所以想到用docker来部署。镜像wurstmeister/kafka维护较为频繁的一个Kafka镜像。只包含了Kafka,因此需要另行提供ZooKeeper,推荐使用…...

7.4.分块查找

一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

golang循环变量捕获问题​​

在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下: 问题背景 看这个代码片段: fo…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...